MIDIの再生


あつし  2004-12-04 21:21:41  No: 87140  IP: [192.*.*.*]

Microsoft.DirectX.AudioVideoPlaybackで以下のような方法で
MIDI再生をするときにループさせる方法を教えてください。

Imports Microsoft.DirectX.AudioVideoPlayback

Public Class Form1
    略
    Private mAudio As Audio

    Private Sub Form1_Load(ByVal sender ...略
        mAudio = New Audio("loop.mid")
        mAudio.Play()
    End Sub
End Class

編集 削除
あつし  2004-12-05 01:29:13  No: 87141  IP: [192.*.*.*]

なかった場合は他の方法でも結構ですので
loop.mid を再生すると仮定したサンプルと一緒に再生方法を教えてください。お願いします。

編集 削除
Hoge  2004-12-05 12:26:22  No: 87142  IP: [192.*.*.*]

終わったら、もう一度再生させるだけでは?

編集 削除
あつし  2004-12-05 13:02:46  No: 87143  IP: [192.*.*.*]

すみません、その処理方法について詳しく教えてください。

編集 削除
かかと  2004-12-06 10:29:14  No: 87144  IP: [192.*.*.*]

Endingイベントを拾えるようにAddHandlerして
Endingイベントプロシージャで再度Playメソッドを実行すれば一応
ループできますね。
    Private Sub Form1_Load(ByVal sender ...略
        mAudio = New Audio("loop.mid")
        AddHandler mAudio.Ending, AddressOf mAudio_Ending
        mAudio.Play()
    End Sub
    Private Sub mAudio_Ending(ByVal sender As Object, ByVal e As System.EventArgs)
        mAudio.Stop()    '一応Stopメソッドをやったほうがいいかも
        mAudio.Play()
    End Sub

編集 削除