0

正在播放音频文件并计划播放两个并行播放的文件,因此选择“SoundEffect”播放音频文件。

Microsoft.Xna.Framework.Audio.SoundEffect

        SoundEffect back;
        back = ContentManager.Load<SoundEffect>("/Sounds/Background/bkm.mp3")

'没有得到那个 Load 对象。

收到此错误-->

非静态字段、方法或属性“Microsoft.Xna.Framework.Content.ContentManager.Load(string)”需要对象引用

谢谢

4

3 回答 3

0

试试这个也许:

SoundEffect back;
var Cm= new ContentManager();
back = Cm.Load<SoundEffect>(@"/Sounds/Background/bkm.mp3")
于 2013-01-26T17:02:50.170 回答
0

非静态字段、方法或属性“Microsoft.Xna.Framework.Content.ContentManager.Load(string)”需要对象引用

所以,创建一个实例:

var contentManager = new ContentManager();
var back = contentManager.Load<SoundEffect>("/Sounds/Background/bkm.mp3");
于 2013-01-26T17:10:32.560 回答
0

内容加载必须发生在主 Game 类的LoadContent()方法中。把你的第二行放在那里并尝试运行它。

您的文件路径也包含错误。它必须看起来像这样:

"\\Sounds\\Background\\bkm"

或像这样:

@"\Sounds\Background\bkm".

不要\在内容管理器的路径中包含文件扩展名并使用反斜杠。

如果您偶然发现File not found异常,最好先运行此检查:

if (System.IO.File.Exists("\\Sounds\\Background\\bkm.mp3"))
{
    // if you can step into this, it means the file exists
}
于 2013-01-26T16:53:59.447 回答