2014-01-30 52 views
1

我有一首歌曲,我希望它在XNA项目中播放。我将歌曲添加到内容目录,并将其内容导入器更改为MP3 Audio File - XNA Framework,将其内容处理器更改为SoundEffect - XNA Framework。我使用的代码使用SoundEffect运行程序时,Visual Studio变得无响应

SoundEffectInstance music = Content.Load<SoundEffect>("music").CreateInstance() 

但每当我运行该项目的Visual Studio变得没有反应,能显示任何输出之前崩溃。当我将文件的内容处理器更改为Song - XNA Framework时,Visual Studio不会崩溃,但是当我这样做时,加载文件时收到错误。

为什么Visual Studio不断崩溃,我该如何解决问题?

+1

'Content.Load '...?? – davidsbro

+0

@davidsbro oops对不起,这是一个错误纠正它 – user26830

+0

@davidsbro它basicaly说,我试图加载歌曲作为SoundEffect – user26830

回答

0

我相信你问题与你的代码无关,而是等待项目编译。您在VS“崩溃”时设置了正确的内容导入器和处理器。

XNA在运行前将所有内容文件转换为.XNB文件,然后在运行时使用这些XNB文件。当您添加新的内容项时,XNA必须将其转换为XNB文件一次;之后,XNA每次游戏运行时重新使用XNB文件。转换文件可能需要几分钟时间,尤其是大文件(如几分钟长的音频文件)。所以我会尝试等几分钟才能编译项目(如果有一个等待光标,请不要对VS感到不耐烦......等待)。一旦项目建立一次,就不用再等几分钟了。

-1

MP3文件用于Song类型,如果你想使用它作为一个声音效果,那么你必须使它成为一个.WAV

否则使用:

Song music = Content.Load<Song>("music"); 
MediaPlayer.Play(music); 
+0

-1:你应该阅读关于这个问题的评论 - 你会意识到这个问题与此无关。 –

相关问题