vb6.0でwavファイルの終了を監視する方法について
お世話になります。
vb6.0でwavファイルを再生するプログラムを作成しております。
下記にコードを記述させていただきます。
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 MSComm1_OnComm()
'演奏が終了しているか確認
If LCase$(Left$(mciSendString("Status MIDI1 mode", "", 0, 0), 7)) = "stopped" Or _
LCase$(Left$(mciSendString("Status MIDI1 mode", "", 0, 0), 7)) = "0" Then ←(1)
Dim ret As Long
ret = mciSendString("stop midifile ", "", 0, 0)
ret = mciSendString("close midifile", "", 0, 0)
ret = mciSendString("open """ & P_PLIST_WARNING & """", "", 0, 0)
ret = mciSendString("play """ & P_PLIST_WARNING & """ from 0 wait", "", 0, 0)
ret = mciSendString("stop """ & P_PLIST_WARNING & """", "", 0, 0)
ret = mciSendString("close """ & P_PLIST_WARNING & """", "", 0, 0)
End If
End Sub
wavファイルを再生するにあたり、まず再生されていない状態を確認してから、再生したいと考えています。
しかしながら、(1)のコードで戻り値が"stopped"または"0"ではなく、"263"で返ってきており、停止を監視できず困っております。
お手数ですが、ご教授いただきたく宜しくお願い申し上げます。
お礼
ありがとうございました。 アドバイスのようにしたところ、 ミリ秒で取得できました。