你所需要的API函数称为PlaySound,以下为该函数的声明:
PublicDeclareFunctionPlaySoundLib"winmm.dll"_
Alias"PlaySoundA"(ByVallpszNameAsString,_
为了当前的需要,必须需要两个标记。它们是:
SND_ASYNC(value=1):以异步方式运行,这意味着当播放声音时函数在运行。
SND_FILENAME(value=&H20000):第一个变量为一个文件名。
所以,以下代码播放了DingDong.wav文件中的声音:
PlaySound"dingdong.wav",CLng(0),_
SND_ASYNCOrSND_FILENAME
当运行在一个程序中运行音频文件时,还有其他两点值得注意。第一,你必须确保一个特定的音频文件存在,否则会产生错误。这一过程可以用以下一个简单的函链衡搏数来完成:
PublicFunctionFileExists(FullFileName)AsBoolean
’Passedafilename(withpath)returns
’Trueifthefileexists,Falseifnot.
Dimss=dir(FullFileName) Ifs=""Then
FileExists=FalseElseFileExists=TrueEndIfEndFunction
第二,程序必须具有为用户提供关闭声音的选择设置。这一过程可以通过使用一个比如gProgramSoundsEnabled的全局布尔变量来实现。
我的方法是在一个函数中同时处理这些需要,如下所示。(以下代码假设音频拦悔文件已经存放在程序文件中)
PrivateSubPlaySoundX(filenameAsString)
’Ifsoundisenabledandfilenameexists,
’playthespecifiedsound.
filename=App.path&"\"&filename
IfFileExists(filename)AndgProgramSoundsEnabledThen
PlaySoundfilename,CLng(0),SND_ASYNCOrSND_FILENAMEEndIfEndSub正确使用这些函数,程序就可以播放任何Wave文件,如下所示:
从VB程序播放音频文件的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。
VB中播放WAV文件夜鹰电脑教学网
在多媒体软件的开发设计中,声音是一个相当重要的多媒体元素,优秀的声音设计会为多媒体软件增色不少。而WAV格式的声音文件是一种最常用的声音文件格式,也最容易得到,比如通过Win 95中的“录音机”程序,利用麦克风就可以非常简单地录制WAV文件。VB是一个相当经典的多媒体开陵激发的工具,在VB中播放WAV文件的方法主要有这样几种。
一、利用OLE控件
建一窗体,用鼠标选择OLE控件,在窗体上拖出OLE区域,在图一的窗口中选择新建和声音然后按确定键就完成了在窗口中添加OLE控件,如图二。
这样就可以在OLE控件的ResourceDoc属性中选择所要播放的文件,程序运行时双孙厅击OLE控件即可。
在实际的程序设计当中,往往需要单击某个图标或按钮来控制声音的播放,其实现方法是这样的:首先将OLE控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:
Private Sub Contol_Click()
OLE1.Action = 7
End Sub
二、利用MMControl控件
VB5.0提供了许多设计多媒体的控件,在PROJECT/COMPENENTS/CONTROLS中选择MMControls 控件,窗体上就出现了多媒体控件则汪隐对象,在这个对象上有不同的图形功能标识,其名称从左到右分别是Pre、Next、Play、Pause、Back、Step、Stop、Record 、Eject 如图三。
这个多媒体控件可以播放多种格式的声音,播放WAV格式声音文件的程序代码
Private Sub form_load()
MMControl1.DeviceType = "waveaudio"
MMControl1.filename = "c:\win95\media\ding.wav"
MMControl1.Command = "open"
End Sub
'以下是为图形标识Play事件编写的代码
Private Sub MMControl_playclick(cancel As Integer)
MMControl1.Command = "play"
End Sub
当运行这个程序时,MMControl控件中的Play键被激活,点取此按钮即可播放ding.wav文件。
在实际的软件设计当中,更多的情况是鼠标点击按钮或图标来控制声音的播放, 其实现方法是这样的:首先将MMControl控件的VISIBLE属性设置为FALSE,然后在图标或按钮的单击事件中编写如下的程序:
Private Sub Control1_Click()
MMControl1.Command = "play"
End Sub
运行程序时单击相用的按钮或图标,WAV文件照样可以播放。用自行设计的按钮或图标取代多媒体控件中的固定按钮,可设计出更加灵活方便的用户界面。
三、利用VB的API函数
在窗体的DECLARATIONS(声明)中输入如下代码:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal_lpszSoundName As String, ByVal uFlags As Long) As Long
'lpszSoundName是一个字符串变量,表示一个WAV格式的文件名。
'uFlags 用于设定播放状态的各种选项。参数值为0X00时,实现同步播放,参数值为0X01时实现非同步播放。
在命令按钮的单击事件中输入如下代码:
Private Sub Command1_Click()
Dim plays As Long
plays = sndPlaySound(“E:\WINDOWS\MEDIA\DING.WAV", &H0)
End Sub
运行时单击命令按钮即可播放WAV文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)