ちなみにwavファイルを利用して長さをmciSendStringで取得し、Sleepにセットしようとしましたが、音が短いためか時間が取得できませんでした。
どのようにしたらよろしいでしょか。call mciSendStringでは終わってから次のプログラムステップに行かないようです。
よろしくお願いします。
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
For k = 0 To i
Call mciSendString("play """ & line(k) & ".wma" & """", "", 0, 0)
System.Threading.Thread.Sleep(Integer.Parse(TextBox1.Text))
Next k
下記のようにnotifyを指定してやると、演奏終了時に第4引数で指定したウィンドウハンドルにメッセージを渡すことができます。
このメッセージを受け取ったら、次のWAVファイルを再生するようにすればいいでしょう。
mciSendString(TEXT("play WAVファイル名 notify"), NULL, 0, hwnd);
コメント(0件)