Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
mciSendStringで再生終了時にメッセージを表示するには?
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30235#CommentId82772
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
よっしー26
 (社会人)
投稿日時
2017/3/31 23:32:18
まりもんさん、さばみそ煮さん、ご回答ありがとうございます。
とりあえず、まりもんさんに教えて頂いたHPを参考にコードを下記のように変更したのですが、
mp3ファイルを再生し終えてもメッセージが表示されません。
どのようにすれば、再生が終わったらメッセージを表示できるのでしょうか?
Const WM_MCINOTIFY As Integer = &H9B3 'mciSendString の処理終了を表す定数 ←追加
Const MCI_NOTIFY_SUCCESSFUL As Integer = &H1 '処理成功を表す定数 ←追加
Private Sub Button1_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles Button1.Click
'再生するファイル名
Dim fileName As String = "C:\music.mid"
Dim cmd As String
'ファイルを開く
cmd = "open """ + fileName + """ alias " + aliasName
If mciSendString(cmd, "", 0, 0) <> 0 Then ←変更
Return
End If '再生する
cmd = "play " + aliasName + " notify" ←変更
mciSendString(cmd, "", 0, Me.Handle.ToInt32) ←変更
End Sub
以下を追加しました。
Protected Overrides sub WndProc(ByRef m As Message)
If m.Msg = WM_MCINOTIFY AndAlso m.WParam.ToInt32 = MCI_NOTIFY_SUCCESSFUL Then
MsgBox("再生終了")
End If
MyBase.WndProc(m)
End Sub