找不到ConnectManager.Load

时间:2013-01-26 16:49:40

标签: c# windows-phone-7 xna

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

Microsoft.Xna.Framework.Audio.SoundEffect

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

没有得到那个Load对象。

获取此错误 - &gt;

  

非静态字段,方法或者需要对象引用   属性   'Microsoft.Xna.Framework.Content.ContentManager.Load(字符串)'

由于

3 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:0)

尝试这个:

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

答案 2 :(得分:0)

  

非静态字段,方法或属性'Microsoft.Xna.Framework.Content.ContentManager.Load(string)'

需要对象引用

所以,创建一个实例:

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