通知
すべてクリア
Topic starter
2014年1月30日 8:51 AM
VisualStudio2013を使ってます。アプリのひな形はMFCです。
アプリ開始後、キー操作によってmciSendStringで音を鳴らしてますが、
この時、遅れて音が発生します。この時、プログラム自体は正常にフリーズ無く
動作しますが、音を鳴らす命令だけが鳴らずに溜め込まれ、キーを押してから数秒後に
溜め込まれた音が一斉になります。
この後、いったんアプリを閉じ、直後に再び開いてキーを押すと、きちんと音が鳴りま
す。
どうすれば常に音が遅延なく流れますでしょうか。
Topic starter
2014年1月30日 9:01 AM
補足します。
音を鳴らす仕掛けは、キーを押した後、CreateThread(NULL,0,ThreadProc,send,0,&dwThr
eadId);でスレッドを作り、ThreadProc関数内でmciSendStringのopen,play,closeなどを
行っている、という塩梅です。
2014年1月30日 10:08 AM
一斉にどうのという点がよくわからんけど
MCIは 開く→再生 までにかなり時間がかかる模様.
2回目以降に早くなってるとしたらキャッシュとかの影響かも?
とりあえず
アプリ開始時にスレッドを作ってOpenまでは済ませておき,
キーを押したときには Play という感じにしてみては?
mciSendStringよりもmciSendCommandの方が早い とかいう話も見かけるけど
どの程度違うのかは不明