用API播放wav文件:
Private Const SND_ASYNC = &H1 ' 异步播放
Private Const SND_LOOP = &H8 ' 循环
Private Const SND_SYNC = &H0 ' 同步
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long在要发声的地方使用下述语句:
PlaySound "文件名.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
Private Const SND_ASYNC = &H1 ' 异步播放
Private Const SND_LOOP = &H8 ' 循环
Private Const SND_SYNC = &H0 ' 同步
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long在要发声的地方使用下述语句:
PlaySound "文件名.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
使用VB中的beep语句只能发出一种声音。如果想发出不同声音,可以使用API函数。Option Explicit
Private Declare Function APIBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As LongPrivate Sub Command1_Click()
Dim frequency As Long frequency = CLng(txtFrequency.Text)
APIBeep frequency, 500
End Sub
to bytheway,将该 apibeep放入程序,机器仍不发声,alert又不好控制,真的奇怪。
public sub Sound(byval lngVolume as long,byval lngHowLongTime as long) '第一個參數為音量,第二個為時間長短Beep lngvolume, lnghowlongtime
end sub'以上加入公用模組'調用例:
Private Sub Form_Load()
Sound 1000,80
End Sub'給分啦......xixixixi
Private Declare Function APIBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As LongPrivate Sub Command1_Click()
Dim frequency As Long frequency = 2000 ’指频率
APIBeep frequency, 500
End Sub
这样:Option Explicit
Private Declare Function APIBeep Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As LongPrivate Sub Form_Load()
Dim frequency As Long frequency = 2000 '指频率
APIBeep frequency, 500 frequency = 200 '指频率
APIBeep frequency, 500End Sub
是不是有2声?
“ti-bu”这个程序不需要声卡
http://ygyuan.3322.net/