人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB2005の音楽再生プログラミングについて教えてください。約0.7秒程度の音が複数あり、それを順次再生します。それぞれの再生間隔は任意を考えています。mciSendStringを使うと1つ目の音が終わる前に次の音が始まってしまうようです。5個の音を再生しても3個くらいしか聞こえてきません。

ちなみに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

●質問者: mai_mai_mail
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● oil999
●100ポイント

下記のようにnotifyを指定してやると、演奏終了時に第4引数で指定したウィンドウハンドルにメッセージを渡すことができます。
このメッセージを受け取ったら、次のWAVファイルを再生するようにすればいいでしょう。

mciSendString(TEXT("play WAVファイル名 notify"), NULL, 0, hwnd);

2 ● みかん
●0ポイント

http://chiebukuro.search.yahoo.co.jp/search?fr=top_ga1_sa&ei=UTF-8&p=VB2005%E3%81%AE%E9%9F%B3%E6%A5%BD%E5%86%8D%E7%94%9F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ