循环播放背景音乐


【实例说明】
    循环播放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