1.用Win32 API PlaySound
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出甕安免費做網(wǎng)站回饋大家。
PlaySound位于"winmm.dll"中,可以根據(jù)輸入?yún)?shù)的不同,播放WAV類型的音樂。在VB.NET中調(diào)用跟VB6中差不多:
先聲明:
Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer
Const SND_FILENAME As Integer = H20000
Const SND_ALIAS As Integer = H10000
Const SND_SYNC As Integer = H0
具體還有很多常量,不一一列舉,下面是播放一個wav文件的例子
Dim mstrfileName As String = "c:\eagle2.wav"
PlaySound(mstrfileName, 0, SND_FILENAME)
注意上面的播放是非同步的,就是說它并不會播放完畢才結(jié)束。如果把上面的代碼寫在一個Button.Click的事件處理程序中,第二次點擊的時候它會打斷第一次的播放,重新開始。
當然我們也可以調(diào)用系統(tǒng)的聲音:
PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)
' 以同步的方式調(diào)用系統(tǒng)啟動時候的聲音。
2. 調(diào)用媒體播放器控件
VB.NET中并沒有提供媒體播放器的.NET組件,沒辦法我們還是調(diào)用以前Com組件Windows Media Player。當然除了聲音外,還可以播放視頻文件。
首先把媒體播放器控件加到工具欄中,調(diào)用還是簡單的寫一下吧:)
Private Sub playMediaFile(ByVal mediaFileName As String)
With MediaPlayer1
.Stop()
.FileName = "c:\mp3\愛不愛我.mp3"
.Play()
End With
End Sub
思路很重要,我以前做過,上一曲下一曲,這個控件有自帶的,順序的話就是判斷是否到音樂幀的尾端,如果是,就指向下一曲,循環(huán)的話有單曲和全部,也是比較簡單,同順序,至于
隨機播放
的話,我當時是用
隨機數(shù)
解決的,就是計算列表中有多少首歌曲,計算之后,進行隨機產(chǎn)生一個數(shù)字,用該數(shù)字定位歌曲,進行播放
方法一:調(diào)用系統(tǒng)DLL(這個有點不完善,也就是播放聲音時窗體無法控制,效果相當于Enabled=true,但音頻播放完畢后就沒事了)
Private?Declare?Function?sndPlaySound?Lib?"Winmm.dll"?Alias?"sndPlaySoundA"?(ByVal?lpszSoundName?As?String,?ByVal?uFlags?As?Long)?As?Long
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?SoundFile?As?String,?Result?As?Long
SoundFile?=?"D:\KuGou\Pianoboy?-?第105天.wav"?'此處為路徑
Result?=?sndPlaySound(SoundFile,?0)
End?Sub
方法二:使用WindowsMediaPlayer(WindowsMediaPlayer1的可見為False)
先添加一個windowsmediaplayer控件(工具箱里沒有,需要手動添加)
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
WindowsMediaPlayer1.visible=False
Me.WindowsMediaPlayer1.URL?=?"D:\KuGou\Pianoboy?-?第105天.mp3"
End?Sub
上面的都是點擊button1(按鈕1)后播放聲音,若是鼠標移動到某控件上發(fā)出聲音的話改一下觸發(fā)事件就OK了。
“工具箱”中單擊右鍵,選擇“選擇項”菜單,打開“選擇工具箱項”窗口,選擇“
COM組件
”標簽,在列表中找到并勾選“Windows
Media
Player”組件,單擊“確定”按鈕。將該組件添加到指定的工具箱
選項卡
中,然后在工具箱里面找
Windows
Media
Player
控件,拉到form里面,拉出來的控件就是AxWindowsMediaPlayer
My.Computer.Audio.Play("SoundFile.wav")
SoundFile.wav是你要播放的聲音文件的路徑
該控件調(diào)用的是你的電腦上的播放器
Windows Media Player本身支持的視頻格式很少 (有.wmv、.wvx、.asf、.asx、.wpl、.wm、.wmx、.wmd 和 .wmz .vob、.avi、.mpeg、.mpg、.mpe、.m1v、.mp2、.mpv2、.mp2v 和 .mpa ),而且您的計算機上面必須安裝很多解碼器才能完全支持這些格式 ,所以您下載的電影有可能不能播放。
如果您想讓Windows Media Player支持不僅以上格式,而且支持幾乎所有視頻格式,就請您下載安裝完美解碼這款軟件,安裝完后,在Windows Media Player的主菜單(鼠標右鍵Windows Media Player窗口的頂端)當中選擇工具--選項--DVD選項卡--高級--在彈出來的對話框中選擇“編碼解碼器”選項卡,在右面一側(cè)把顯示“未啟用”字樣的全部改為“l(fā)ibavcodec”字樣,單擊確定,然后,您會發(fā)現(xiàn)Windows Media Player支持很多格式(包括播放DVD、3GP)