|
|
Dim DX7 As New DirectX7
Dim Perf As Performance
Dim Seg As DirectMusicSegment
Dim SegState As DirectMusicSegmentState
Dim Loader As DirectMusicLoader
Public Sub OpenDirectMusic()
Set Loader = DX7.DirectMusicLoaderCreate()
Set Perf = DX7.DirectMusicPerformanceCreate()
Call Perf.Init(Nothing, 0)
Perf.SetPort -1, 1
Call Perf.SetMasterAutoDownload(True)
End Sub
Public Sub PlayDirectMusic(FileName As String)
If Perf Is Nothing Then
OpenDirectMusic
End If
Call Perf.Stop(Seg, SegState, 0, 0)
Call Perf.Reset(0)
Set Loader = Nothing
Set Loader = DX7.DirectMusicLoaderCreate
Set Seg = Loader.LoadSegment(FileName)
Seg.SetStandardMidiFile
Seg.SetStartPoint (0)
Set SegState = Perf.PlaySegment(Seg, 0, 0)
End Sub
Public Sub CloseDirectMusic()
If Not (Perf Is Nothing) Then Perf.CloseDown
End Sub
Private Sub Form_Load()
OpenDirectMusic
PlayDirectMusic "1.mid"
End Sub
Private Sub Form_Unload(Cancel As Integer)
CloseDirectMusic
End Sub |
|