Database 版 (精华区)

发信人: sleep (休息休息), 信区: Database
标  题: VFP中实现背景音乐的几种方法
发信站: 哈工大紫丁香 (2000年12月04日14:57:09 星期一), 站内信件

 
15、VFP中实现背景音乐的几种方法


  一、利用set bell to 
  VFP5.0的set bell to命令的使用格式不同于FoxPro2.X的格式。在VFP5.0中,
它的格式为Set Bell To [cWAVFileName, nDuration]。其中cWAVFileName为一个
.WAV文件;nDuration为持续时间(注意该项不可省略,否则会产生语法错误)。
这样当在个人程序的初始模块中用set bell to 定向到一.WAV文件后,便可在后面
的模块中用?chr(7)来播放该.WAV文件。
  示例1:
  set bell on &&使bell有效
  set bell to′ .WAV文件′,0 &&使bell定向到一个.WAV 文件。注意有单引

  ?chr(7)
  &&播放该.WAV文件
  二、利用OLE容器控件
  创建一表单,单击表单控件工具栏中的“OLE容器控件”按钮,然后在表单上
适当位置点击或拖动。在出现的“Insert Object”窗口中选“Creat New”或“
Creat From File”,用“Browse”按钮选取自己的.WAV文件,确定即可。
  在当前表单中会出现一“喇叭”图标,设置该图标的属性“ AutoActivate”
为1,可使每当表单运行时自动播放该.WAV文件,实现背景音乐;设置Height、
Width均为0时,可隐藏“喇叭”图标。
  三、利用VFP库Foxtools.fll
  用=Regfn()和=Callfn()可访问Foxtools.fll中的音频模块,进行播放声
音文件。
  示例2:
  创建一表单,在其Activate事件中输入下列代码:
  public ss &&定义一全局变量ss
  set library to foxtools.fll &&打开库Foxtools.fll
  ss=Regfn(″SndPlaySound″,″CI″,″I″,″mmsystem″) &&取得音频信

  =Callfn(ss,″一.wav文件″,n) &&n=0(1,2,3也可)时只播放一遍,n=9时
循环播放
  在其Destroy事件中输入下列代码:
  =Callfn(ss,″″,10) &&停止播放
  set library to &&从内存中释放库foxtools.fll
  四、利用Windows的动态链接库
  在VFP5.0的安装目录samples\classes下,有一类库samples\classes。其中提
供有两种控件:视频和音频,音频可以控制播放.WAV和.MID文件,利用它可轻松地
实现背景音乐。下面给出它的实例。
  示例3:
  创建一表单,在表单控件工具栏中选择类按钮,添加VFP5.0中的
samples\classes\samples.vbx类库。此时表单控件工具栏中会出现SoundPlayer和
VideoFrame两个多媒体控件。选择SoundPlayer,在表单上单击后,设置它的属性
如下:
  AutoOpen=.t.
  AutoPlay=.t.
  AutoRepeat=.t.
  Class=SoundPlayer
  Soundfile=指定一.WAV或.MID文件 &&注意没有引号
  Visible=.f. &&不可见
  以上几种方式各有优缺点,应用时要注重满足自己的编程需要。若你有更好的
方法,欢迎来信共同探讨。我的E-mail:excuse99@163.net。(河南 申绍勇)

 

--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.428毫秒