如何在VB中实现背景音乐的循环播放

Author: 刘俊 Date: 1997-01-01

  如何在VB中实现背景音乐的循环播放呢?经过尝试,得出了一个方法:利用计时器设置计时变量计时,当程序运行时间超过曲长时,重新开始播放,并将计时器变量清零。在程序中加入媒体控件mci1,计时器Timer1,设窗体名为Form1,编写代码如下:
  [general]
  ……
  DIM Value As Integer ′声明计时变量
  Sub Form1-load()
  ……
  if not mci1.mode=MCI-MODE-NOT-OPEN then mci1.command=”close” ′如果多媒体控制是打开的则关闭
  end if
  Value=0 ′计时变量初始化
  mci1.devicetype=”waveaudio” ′假定为wav文件
  chdir ”e:\mywork” ′设定音乐文件所在目录
  mci1.Filename=”梁祝.wav” ′设定音乐文件名
  mci1.command=”open” ′打开文件并播放
  mci1.command=”play”
  End Sub
  (在Timer1的属性栏中,将Interval的值改为1000,即让程序每秒钟触发一次计时器事件。)
  Sub Timer1-timer()
  Value=Value+1 ′计时,单位秒。
  If Value>=182 Then ′数字自定,应比曲长多一二秒
  Value=0 ′计时变量清零,重新开始计时
  if not mci1.mode=MCI-MODE-NOT-OPEN then mci1.command=”close”
  end if
  mci1.devicetype=”waveaudio”   ′重新对播放控制初始化
  chdir ”e:\mywork”
  mci1.Filename=”梁祝.wav”
  mci1.command=”open”
  mci1.command=”play”
  end if
  end sub
  如何得到选定音乐曲目的确切曲长呢?只需用Windows 95中的“录音机”打开该文件,曲长就会以秒的形式显示在面板上。此方法在Visual Basic 5.0中通过。
  利用同样原理,可以方便地实现动画的循环放映,读者不妨一试。