在VB中播放音频文件

jinhailv 2006-04-25 09:00:28
在Form窗体中添加两个Command控件,我想在Command1_Click()事件时触发一个背景音乐(最好是可以播放任何格式),而在Command2_Click()事件时关闭背景音乐.请各位高手给指点一下.谢谢!
...全文
544 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
迈克揉索芙特 2006-04-25
  • 打赏
  • 举报
回复
//最好是可以播放任何格式
不可能的,除非你的计算机安装了任何格式的解码器

多媒体软件中,声音是重要组成部分。而VB中却没有直接调用声音文件的语句。所以要在VB5.0中定义了一个调用声音文件的函数。
例子:


取&H0时:为同步播放模式;
取&H1时:为异步播放模式;
取&H2时:当声音文件未找到就停止播音返回;
取&H8时:为循环播放模式。
当调用函数成功,就播放有关声音文件,并且函数的返回值为非0;函数调用失败,函数的返回值为0。
定义调用声音文件函数的具体步骤如下:
①在C盘根目录上建立一个名为Sound的文件夹,在此文件夹中放入5个你所需要的声音文件;
②在VB5.0状态进入“工程”菜单中的“添加模块”再选用“新建”中的“模块”;
③在模块的“通用”中输入下面代码,进行调用API函数的声明;
Declare Function sndPlaySound Lib "winmm.dll" Alias
“sndPlaySoundA" (ByV al lpszSoundName As String, ByVal uFlags As Long) As Long
Dim fil As String
④在模块中输入以下代码,定义调用声音文件函数。
Public Function sound(n As Integer) As Integer
Dim x As Integer
Select Case n
Case 1
fil = "c:soundbeep3.wav"
x = sndPlaySound(0, 0)
x = sndPlaySound(fil, &H1 Or &H2)
sound = x
Case 2
fil = "c:soundhit8.wav"
x = sndPlaySound(0, 0)
x = sndPlaySound(fil, &H1 Or &H2)
sound = x
Case 3
fil = "c:soundnet7.wav"
x = sndPlaySound(0, 0)
x = sndPlaySound(fil, &H1 Or &H2)
sound = x
Case 4
fil = "c:soundout12.wav"
x = sndPlaySound(0, 0)
x = sndPlaySound(fil, &H1 Or &H2)
sound = x
Case 5
fil = "c:soundspin5.wav"
x = sndPlaySound(0, 0)
x = sndPlaySound(fil, &H1 Or &H2)
sound = x
Case Else
sound = 0
End Select
End Function
新定义的调用声音函数格式为:sound(n),其中n的取值为1至5的正整数。利用此函数可调用5个不同的声音文件。下面是使用sound函数的演示程序:
①如图在form窗口设置6个命令控件;
②在这些命令控件的Click事件中入分别输入以下代码。
Private Sub Command1_Click()
l = sound(1)
End Sub
Private Sub Command2_Click()
l = sound(2)
End Sub
Private Sub Command3_Click()
l = sound(3)
End Sub
年Private Sub Command4_Click()
l = sound(4)
End Sub
Private Sub Command5_C lick()
End Sub
Private Sub Command6_Click()
End
End Sub
运行程序后,单击有关按钮就能调用所指定的声音文件,发出各种声音。

809

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧