在pb中实现声音文件的播放

更新时间:2020-06-22 17:37:07

查看次数:

网站简介:一个商业软件不仅要功能强大,而且界面也要美观,如果加入

详细介绍
一个商业软件不仅要功能强大,而且界面也要美观,如果加入适量声音会增强软件的人机交互性,让软件给人更为深刻的印象。pb作为客户/服务器的客户端开发工具,在数据库管理上有强大的功能,但pb中本身没有播放声音的函数、对象。我们知道在windowsapi函数中有“sndplaysounda”可实现声音文件的播放。要在pb中调用该函数可按下例实现。

1.首先在declare菜单项中的globalexternal functions中定义引用的windowsapi 函数。

functionboolean sndplaysounda (string soundname, uint flags) library″winmm.dll″
functionuint 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表示播放失败。
函数内容:

booleanxx
uintlui—numdevs
lui—numdevs= waveoutgetnumdevs()
iflui—numdevs > 0 then
         xx=sndplaysounda(s—wavename,i—option)
          if xx=true then
                 return 1
         else
                return -1
         endif
else
      return -1
endif

3.在程序中调用。

下面的程序是实现同步播放名为“a1.wav"的声音文件:

stringls—soundname
intll—rtn
    ls—soundname=″c:\wave\a1.wav″

ll—rtn=f—playwave(ls—soundname,0)
留言与评论(共有 条评论)

   
验证码: