我有一首歌,我希望它能在XNA项目中播放。我将歌曲添加到内容目录,并将其内容导入器更改为MP3 Audio File - XNA Framework
,将其内容处理器更改为SoundEffect - XNA Framework
。我正在使用代码
SoundEffectInstance music = Content.Load<SoundEffect>("music").CreateInstance()
但是每当我运行项目时,Visual Studio都会无响应并在能够显示任何输出之前崩溃。当我将文件的内容处理器更改为Song - XNA Framework
时,Visual Studio不会崩溃,但是当我这样做时,我在加载文件时收到错误。
为什么Visual Studio会一直崩溃,我该如何解决这个问题?
答案 0 :(得分:0)
我相信你的问题与你的代码无关,而是在等待项目编译。当VS“崩溃”时,您可以设置正确的内容导入器和处理器。
XNA在运行之前将所有内容文件转换为.XNB
个文件,然后在运行时使用这些XNB文件。添加新内容项时,XNA必须将其转换为XNB文件一次;之后,XNA每次游戏运行时都会重用XNB文件。转换文件可能需要几分钟,特别是大文件(如几分钟长的音频文件)。所以我会尝试等待几分钟来编译项目(如果有等待光标,不要对VS不耐烦......等待)。一旦项目构建一次,您将不必再等待几分钟。
答案 1 :(得分:-1)
MP3文件用于Song
类型如果您想将其用作音效,那么您必须将其设为.WAV
否则请使用:
Song music = Content.Load<Song>("music");
MediaPlayer.Play(music);