代碼是沒有錯的,但是其中關(guān)鍵是聲音文件資源定義字串必須使用根命名空間,不能用程序集名稱;還有就是聲音文件必須選屬性為嵌入資源。
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)西鄉(xiāng)免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
My.Computer.Audio.Play(My.Resources.xxxmusic1xxx, AudioPlayMode.Background)
用API mciSendString可以同時播放多個聲音,需要提供路徑。
資源文件很麻煩,要用反射讀取出來,再用IO寫到磁盤路徑。
你是做游戲把?軟糖建議是不要使用資源文件,而使用本地文件。
用個BGM文件夾保存背景音樂,用SE文件夾保存音效(學(xué)習(xí)RPG Maker的做法)
API代碼奉上,具體實現(xiàn)模塊字?jǐn)?shù)超過最大值,請下載附件
Imports?System.Text
'''?summary
'''?可播放MPEG,AVI,WAV,MP3,MID,WMA等格式的音頻文件,*不支持OGG
'''?/summary
Public?Class?音頻設(shè)備
'聲明API函數(shù):?mciSendString
System.Runtime.InteropServices.DllImport("winmm.dll",?EntryPoint:="mciSendString")
Public?Shared?Function?mciSendString(strCommand?As?String,
strReturn?As?StringBuilder,
iReturnLength?As?Integer,
hwndCallback?As?Integer)?As?Integer
End?Function
'聲明API函數(shù):?mciGetErrorString
System.Runtime.InteropServices.DllImport("winmm.dll",?EntryPoint:="mciSendString")
Public?Shared?Function?mciGetErrorString(errCode?As?Integer,
errMsg?As?StringBuilder,
buflen?As?Integer)?As?Integer
調(diào)用方法
Public?Class?Form1
Dim?音頻設(shè)備?As?New?音頻設(shè)備
Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click
Dim?路徑?=?"F:\音樂文件名.mp3"
音頻設(shè)備.打開("自定義名稱1",?路徑)
音頻設(shè)備.播放("自定義名稱1")
'音頻設(shè)備.暫停("自定義名稱1")
'音頻設(shè)備.繼續(xù)("自定義名稱1")
'音頻設(shè)備.關(guān)閉("自定義名稱1")
End?Sub
End?Class
如滿意,請采納,還有不懂的請追問,謝謝。
在.NET里,沒有托管的音樂播放器,用API只能播放WAV格式,對于MP3等形式的音頻文件,就要依賴于其他控件了,常用的就是
MediaPlayer。使用方法:
在工具箱上點右鍵,選擇“選擇項目(Choose Items)”,切到COM選項卡,找到 Windows Media Player, 勾選,確定
在t工具箱上,把剛才加入的MediaPlayer控件,拖放到窗體上
代碼:
WindowsMediaPlayer1.URL = "mp3文件路徑,支持網(wǎng)絡(luò)路徑"
WindowsMediaPlayer1.Ctlcontrols.play
基本就OK了,至于其他的操作諸如下一曲上一曲暫停停止,直接看 WindowsMediaPlayer1.Ctlcontrols. 里面的方法吧。
My.Computer.Audio.Play("SoundFile.wav")
SoundFile.wav是你要播放的聲音文件的路徑