我使用如下代码可以连续播放wav文件,可是我不知道如何停止。Option Compare Database
Private Declare Function sndPlaySound& Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long)
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_LOOP = &H8
Const SND_NOSTOP = &H10'===========================
'sndPlaySound函数需要两个参数:第一个参数soundfilename是要播放的WAV文件的名称;第二个参数是一个表明播放方式的标识常量,其定义的值如前面的声明所示,通常所使用的标识意义如下:'SND_SYNC播放WAV格式文件,播放完毕后将控制转移回应用中。'SND_ASYNC播放WAV格式文件,将控制立即转移回应用程序中,而不管对WAV文件的播放是否结束。'SND_MEMORY用于播放以前已经加载到内存中的WAV格式文件' SND_LOOP循环播放WAV格式文件' 注意:SND_LOOP标识通常需要同SND_ASYNC共同使用,也即在两个标识之间添加“与”播放符,以免在对WAV格式文件进行播放的时候将系统挂起。'play *.wav 声音子程序 用法--PlayWav App.Path & "\sounds\recycle.wav"
'==============================
Public Sub PlayWav(SoundName As String)
Dim tmpSoundName As String
Dim wFlags As Long
Dim X As Long
tmpSoundName = SoundName
' wFlags = SND_ASYNC Or SND_NODEFAULT '正常播放 wav 文件
wFlags = SND_ASYNC Or SND_LOOP '循环播放 wav 文件
X = sndPlaySound(tmpSoundName, wFlags)
End SubPrivate Sub command1_Click()
PlayWav app.Path & "\mysound.wav"
End Sub
Private Declare Function sndPlaySound& Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long)
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_LOOP = &H8
Const SND_NOSTOP = &H10'===========================
'sndPlaySound函数需要两个参数:第一个参数soundfilename是要播放的WAV文件的名称;第二个参数是一个表明播放方式的标识常量,其定义的值如前面的声明所示,通常所使用的标识意义如下:'SND_SYNC播放WAV格式文件,播放完毕后将控制转移回应用中。'SND_ASYNC播放WAV格式文件,将控制立即转移回应用程序中,而不管对WAV文件的播放是否结束。'SND_MEMORY用于播放以前已经加载到内存中的WAV格式文件' SND_LOOP循环播放WAV格式文件' 注意:SND_LOOP标识通常需要同SND_ASYNC共同使用,也即在两个标识之间添加“与”播放符,以免在对WAV格式文件进行播放的时候将系统挂起。'play *.wav 声音子程序 用法--PlayWav App.Path & "\sounds\recycle.wav"
'==============================
Public Sub PlayWav(SoundName As String)
Dim tmpSoundName As String
Dim wFlags As Long
Dim X As Long
tmpSoundName = SoundName
' wFlags = SND_ASYNC Or SND_NODEFAULT '正常播放 wav 文件
wFlags = SND_ASYNC Or SND_LOOP '循环播放 wav 文件
X = sndPlaySound(tmpSoundName, wFlags)
End SubPrivate Sub command1_Click()
PlayWav app.Path & "\mysound.wav"
End Sub
解决方案 »
- 高手给看看,遇到难题了~~~~~
- vb在文件夹右键菜单中怎么增加分隔符?
- VB 中 怎么用什么样的代码能调监视器的屏幕刷新频率
- 如何响应任意位置的鼠标点击?
- vc调用vb写的com接口函数,函数参数中有一函数指针,在vb中如何写.
- vb如何调用文件建立oracle存储过程
- 谁知道Windows98的背景底色(那种暗绿色)的RGB参数是多少?98系统的兄弟帮忙看看,谢谢。10分
- winsock 收到两次信息,,,只当一次处理,,什么办
- ◆◆30元提供一套VB软件源码(含进销存和人事工资模块)◆◆
- 为什么我的DATAGRID不显示数据,是空的
- XP运行程序出现“3709”错误的问题
- 如何让时间成为以24小时为单位?
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" _
(ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_LOOP = &H8
Const SND_ASYNC = &H1
Private Sub play_wav_Click()sndPlaySound app.Path & "\dingdong.wav", SND_ASYNC Or SND_LOOP '循环播放
End SubPrivate Sub stop_wav_Click()
sndPlaySound vbNullString, SND_ASYNC '停止播放
End Sub