在PB中实现声音文件的播放
余波
一个商业软件不仅要功能强大,而且界面也要美观,如果加入适量声音会增强软件的人机交互性,让软件给人更为深刻的印象。PB作为客户/服务器的客户端开发工具,在数据库管理上有强大的功能,但PB中本身没有播放声音的函数、对象。我们知道在Windows
API函数中有“sndplaysoundA”可实现声音文件的播放。要在PB中调用该函数可按下例实现。
1.首先在Declare菜单项中的global external functions中定义引用的Windows
API 函数。
Function boolean sndPlaySoundA (string SoundName, uint Flags) Library ″WINMM.DLL″
Function uint waveOutGetNumDevs () Library ″WINMM.DLL″
2.然后定义一个播放声音文件的函数。
函数名与参数:f—playwave(s—wavename,i—option)
s—wavename:是要播放的声音文件,数据类型为string。
i—option:是播放时的控制参数,数据类型为integer,
i—option=0(同步播放);i—option=1(异步播放)
返回值说明:本函数返回值类型为integer,1表示播放成功,-1表示播放失败。
函数内容:
boolean xx
uint lui—numdevs
lui—numdevs = WaveOutGetNumDevs()
If lui—numdevs > 0 Then
xx=sndPlaySoundA(s—wavename,i—option)
if xx=true then
return 1
else
return -1
end if
Else
return -1
End If
3.在程序中调用。
下面的程序是实现同步播放名为“a1.wav"的声音文件:
string ls—soundname
int ll—rtn
ls—soundname=″c:\wave\a1.wav″
ll—rtn=f—playwave(ls—soundname,0)