ホテルを選ぶとき、これだけは譲れない条件TOP3は?

お世話になります。

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"で返ってきており、停止を監視できず困っております。

お手数ですが、ご教授いただきたく宜しくお願い申し上げます。

A 回答 (1件)

コードは詳しく見てませんが



Declare Function mciGetErrorString Lib "winmm.dll" _
Alias "mciGetErrorStringA" (ByVal dwError As Long, _
ByVal lpstrBuffer As String, ByVal uLength As Long) As Long

これで、エラーコードをメッセージに変換できます。

また、その辺りのことが、以下のurlに出てます。
参考になればいいのですが・・。


http://www.mb.ccnw.ne.jp/garger-studio/gameprog/ …
    • good
    • 0
この回答へのお礼

自己解決しました。
フォームロード時に、wavファイルを登録する処理が抜けておりました。
ありがとうございました。

お礼日時:2009/12/23 18:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!