熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

VB.NET中聲音的播放

2013-11-13 12:20:02  來源: .NET編程 
 由VB升級為NET後有些人不清楚聲音的處理比如程序出錯的時候自定義一個聲音播放或者程序的背景音樂包括游戲音樂等等下面介紹幾種在VBNET中計較簡單可以實現的方案

  . Beep

  最簡單的一種方法通過計算機的揚聲器發出聲響 聲響的音高與持續時間取決於硬件和系統軟件從而隨計算機不同而不同

  Beepg跟Msgbox等方法位於MicrosoftVisualBasicInteraction 中一般默認系統會自動加載調用很簡單看下面的例子

Dim I As Integer

For I = To Loop times

Beep() Sound a tone

Next I

  . 用Win API PlaySound

  PlaySound位於winmmdll可以根據輸入參數的不同播放WAV類型的音樂在VBNET中調用跟VB中差不多

  先聲明

Private Declare Auto Function PlaySound Lib winmmdll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer

Const SND_FILENAME As Integer = &H

Const SND_ALIAS As Integer = &H

Const SND_SYNC As Integer = &H

  具體還有很多常量不一一列舉下面是播放一個wav文件的例子

Dim mstrfileName As String = c:\eaglewav

PlaySound(mstrfileName SND_FILENAME)

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

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

PlaySound(SystemStart SND_ALIAS Or SND_SYNC)

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

  . 調用媒體播放器控件

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

  首先把媒體播放器控件加到工具欄中調用還是簡單的寫一下吧

Private Sub playMediaFile(ByVal mediaFileName As String)

With MediaPlayer

Stop()

FileName = c:\mp\愛不愛我mp

Play()

End With

End Sub

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


From:http://tw.wingwit.com/Article/program/net/201311/15681.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.