无法从文件加载XNA SoundEffect

时间:2012-04-17 06:59:15

标签: xna xna-4.0 audio

我有一个字典来存储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无法读取?为什么?什么时候?解决办法:

提前致谢: 彼得

2 个答案:

答案 0 :(得分:1)

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

E.g。

SoundEffect s = Content.Load<SoundEffect>("name");

答案 1 :(得分: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));
    }

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