VB.NET中聲音的播放

來源:互聯網
上載者:User
由VB6升級為.NET後,有些人不清楚聲音的處理,比如程式出錯的時候,自訂一個聲音播放,或者程式的背景音樂、包括遊戲音樂等等。下面介紹幾種在VB.NET中計較簡單可以實現的方案:



1.  Beep

最簡單的一種方法,通過電腦的擴音器發出聲響, 聲響的音高與期間取決於硬體和系統軟體,從而隨電腦不同而不同。

Beepg跟Msgbox等方法位於Microsoft.VisualBasic.Interaction 中,一般預設系統會自動載入。調用很簡單,看下面的例子。

Dim I As Integer

For I = 1 To 100   ' Loop 100 times.

     Beep()      '  Sound a tone.

Next I



2. 用Win32 API PlaySound

PlaySound位於"winmm.dll"中,可以根據輸入參數的不同,播放WAV類型的音樂。在VB.NET中調用跟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)



注意上面的播放是非同步的,就是說它並不會播放完畢才結束。如果把上面的代碼寫在一個Button.Click的事件處理常式中,第二次點擊的時候它會打斷第一次的播放,重新開始。



當然我們也可以調用系統的聲音:

PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)

' 以同步的方式調用系統啟動時候的聲音。



3.  調用媒體播放器控制項



VB.NET中並沒有提供媒體播放器的.NET組件,沒辦法我們還是調用以前Com組件Windows Media Player。當然除了聲音外,還可以播放視頻檔案。

首先把媒體播放器控制項加到工具列中,調用還是簡單的寫一下吧:)



Private Sub playMediaFile(ByVal mediaFileName As String)

  With MediaPlayer1

   .Stop()

   .FileName = "c:\mp3\愛不愛我.mp3"

   .Play()

  End With

End Sub



總結:雖然VB.NET比VB6改變了很多,包括真正的OOP,多線程等等,但是總歸還是跟VB有很多聯絡,建議大家碰到難於解決的問題的時候,試一下以前的處理方式,一般都能奏效

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。