2011-08-19 83 views
2

我正在拋出一個VB.NET hang子手遊戲。當你贏得比賽時,我加入了火雞的聲音。這是我的循環,當你贏得:如何在VB.NET中從資源中播放.wav

 Dim sndPing As New SoundPlayer(My.Resources.turkey) 
     sndPing.Play() 
     My.Computer.Audio.Play("C:\Users\john\Desktop\CS120_FinalProject_Hannonv2.0\CS120_FinalProject_Hannonv1.5\FinalProject_Hangman_Hannon\FinalProject_Hangman_Hannon\Resources\turkey.wav", AudioPlayMode.Background) 

我已經加載了turkey.wav文件到我的資源,但我不能用「\資源\ turkey.wav」或者我給它一個本地目錄。 Resources.turkey。我試圖找到一種方式來發送文件,當我打包它。

+0

你能更好地解釋你的問題嗎?如果您已經將wav文件作爲資源嵌入,爲什麼還需要將它放在磁盤位置? wave文件應該被編譯到你的可執行文件中 – briddums

回答

2

你的代碼做了兩次相同的事情。首先創建一個帶有嵌入資源的SoundPlayer對象,然後調用靜態函數「My.Computer.Audio.Play」。你會想做一個或另一個。

SoundPlayer的優勢是您可以使用嵌入式資源(因此您不必跟蹤wav文件)。但它確實需要更多的設置。

如果你想使用靜態函數,你可以傳入一個相對於你的EXE位置的路徑。類似這樣的:

My.Computer.Audio.Play(System.AppDomain.CurrentDomain.BaseDirectory & "\turkey.wav") 

請注意,您的wav文件需要與您的.exe文件在上述代碼工作在同一文件夾中。

11

容易,如果你的資源的音頻文件被稱爲「丁」

My.Computer.Audio.Play(My.Resources.Ding, AudioPlayMode.Background) 

這是所有鄉親! :)