2

我有一本字典来存储 SoundEffects,比如:

public static Dictionary<string, SoundEffect> Hangok = new Dictionary<string, SoundEffect>();

我从文件(普通 .wav 格式)加载声音,例如:

GStatic.Hangok.Add(Azonosító, SoundEffect.FromStream(File.OpenRead(Azonosító)));

,其中 Azonosító 是文件名。

一切都很好,文件已加载,除了一个;创建了一个异常:

由于对象的当前状态,操作无效。

,什么对我来说信息不多。谁能解释此错误消息或告诉我为什么 SoundEffect.FromStream 无法读取?为什么?什么时候?解决方法?

提前致谢:彼得

4

2 回答 2

1

我使用 ContentManager 加载 SoundEffect 的。将 wav 文件放在内容项目中,它应该刚刚加载。

例如

SoundEffect s = Content.Load<SoundEffect>("name");
于 2012-04-17T13:08:22.533 回答
1

不是一个完整但有效的解决方案。仅“回答我的问题”,因为它可能对其他不知道问题可能是什么的开发人员有用。

    try
    {
      GStatic.Hangok.Add(Azonosító, SoundEffect.FromStream(File.OpenRead(Azonosító)));
    }
    catch
    {
      GStatic.Hangok.Add(Azonosító, new SoundEffect(File.ReadAllBytes(Azonosító), 11025, AudioChannels.Mono));
    }

好吧:我不知道为什么不能以正常方式加载该文件以及为什么可以像在异常处理程序中那样加载。有一个单声道文件应该不是什么大问题。如果有人知道,请留言/评论。

于 2013-05-12T10:16:15.933 回答