2014-01-30 91 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:你應該閱讀關於這個問題的評論 - 你會意識到這個問題與此無關。 –

相關問題