【实例说明】
循环播放MID背景音乐。
【编程思路】 调用API函数和使用Timer控件。
【设计步骤】 1.新建一个标准工程,创建一个新窗体,默认名为Form1。
2.在Form1上添加一个Timer控件,将其Interval设为100。
3.源程序 [素材源程序下载]
Option Explicit
Private mLoop As Boolean
Private mFilename As String
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" _
(ByVal lpstrCommand As String, _
ByVal lpstrReturnString As String, _
ByVal uReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Private Sub Form_Load()
PlayMusic App.Path & "\BG.mid", True
End Sub
Private Sub Timer1_Timer()
If mLoop = True Then
Dim retString As String * 80
Call mciSendString("status MyMusic mode", retString, 80, 0)
If Left(retString, 7) = "stopped" Then PlayMusic mFilename, True
End If
End Sub
'自定义过程
Private Sub PlayMusic(FilenameMusic As String, gLoop As Boolean)
Dim Comd As String
mFilename = FilenameMusic
mLoop = gLoop
Call mciSendString("close MyMusic", 0, 0, 0)
Comd = "open " & FilenameMusic & " Type sequencer alias MyMusic"
Call mciSendString(Comd, 0, 0, 0)
Call mciSendString("play MyMusic", 0, 0, 0)
End Sub
|