标题如何在VB中实现背景音乐的循环播放
栏目软件大世界
作者刘俊
发布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中通过。
利用同样原理,可以方便地实现动画的循环放映,读者不妨一试。