mciSendStringの遅延 – プログラミング – Home

通知
すべてクリア

mciSendStringの遅延


ニラレバ
 ニラレバ
(@ニラレバ)
ゲスト
結合: 11年前
投稿: 2
Topic starter  

VisualStudio2013を使ってます。アプリのひな形はMFCです。

アプリ開始後、キー操作によってmciSendStringで音を鳴らしてますが、
この時、遅れて音が発生します。この時、プログラム自体は正常にフリーズ無く
動作しますが、音を鳴らす命令だけが鳴らずに溜め込まれ、キーを押してから数秒後に
溜め込まれた音が一斉になります。

この後、いったんアプリを閉じ、直後に再び開いてキーを押すと、きちんと音が鳴りま
す。

どうすれば常に音が遅延なく流れますでしょうか。


引用解決済
トピックタグ
ニラレバ
 ニラレバ
(@ニラレバ)
ゲスト
結合: 11年前
投稿: 2
Topic starter  

補足します。

音を鳴らす仕掛けは、キーを押した後、CreateThread(NULL,0,ThreadProc,send,0,&dwThr
eadId);でスレッドを作り、ThreadProc関数内でmciSendStringのopen,play,closeなどを
行っている、という塩梅です。


返信引用
ホウジョウウサギ
 ホウジョウウサギ
(@ホウジョウウサギ)
ゲスト
結合: 18年前
投稿: 73
 

一斉にどうのという点がよくわからんけど
MCIは 開く→再生 までにかなり時間がかかる模様.
2回目以降に早くなってるとしたらキャッシュとかの影響かも?

とりあえず
アプリ開始時にスレッドを作ってOpenまでは済ませておき,
キーを押したときには Play という感じにしてみては?

mciSendStringよりもmciSendCommandの方が早い とかいう話も見かけるけど
どの程度違うのかは不明


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました