解決方法如下:
成都創(chuàng)新互聯(lián)公司長期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為清徐企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站建設(shè),清徐網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
在控制面版中的聲音和音頻設(shè)備中的聲音選項卡中給默認響聲設(shè)置一個聲音.Beep 是調(diào)用系統(tǒng)的 默認響聲設(shè)置的聲音來發(fā)聲的, 如果沒設(shè)置就沒有聲音。
beep是異步執(zhí)行的,沒有延時作用(也就是說在喇叭發(fā)聲的時候,程序是不停頓的,繼續(xù)執(zhí)行的)。要延時要用api函數(shù)sleep,比如sleep 500是延時500毫秒(即0.5秒),或者用計時器控件(timer)來實現(xiàn)。
用Console.Beep(int,int)這個方法就可以了。
另外,建議把提示出錯的代碼直接放入Catch中,提示鳴放的代碼放入Try中。
1.用Win32 API PlaySound
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
這個本來就是調(diào)用主板報警音得。你應(yīng)該可以想象得到,因為就算你沒有音響得時候,也是可以聽到哪個提示音,是可大可小,可是哪個根據(jù)高低位音,比較復(fù)雜,建議你用別得提示音,比如多媒體控件。
使用VB自身的BEEP函數(shù),在有些PC機上不能正常發(fā)聲,為了解決使用VB自帶的BEEP函數(shù)不能正常發(fā)聲,我們可以使用API完成這個功能。
需要做的很簡單:
在聲明中加入一句:
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
然后使用 格式:
beep fre,dly
即可完成響聲。其中:fre是聲音的頻率,通俗講就是聲音的高低音,聲音頻率(從37Hz到32767Hz)。在windows95中忽略。
dly是響一聲的長短,聲音的持續(xù)時間,以毫秒為單位。如為-1,表示一直播放聲音,直到再次調(diào)用該函數(shù)為止。在windows95中會被忽略。
舉例:
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Sub Command1_Click()
If TempText.Text "13" Then
Beep 2000,3000 '2000是聲音的高低,3000是延長的時間(ms)
end if
End Sub
My.Computer.Audio.Play("SoundFile.wav")
SoundFile.wav是你要播放的聲音文件的路徑
網(wǎng)頁題目:vb.netbeep的簡單介紹
文章URL:http://chinadenli.net/article24/hecgje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)建站、品牌網(wǎng)站設(shè)計、網(wǎng)站內(nèi)鏈、網(wǎng)站策劃、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)