質問

プログラムがC ++で実行されている間、サウンドを再生したいです。私はコードを使用しています:

 void fighterplanesound() 
{PlaySound(TEXT("bombdrop.wav"), NULL, SND_FILENAME|SND_ASYNC);}

SND_ASYNCフラグはこの問題を修正すると思いましたが、そうではありませんでした。起こっているのは、プログラムが一時停止するか、コントロールが音が再生されるまで移動しないことです。プログラムが実行され続けている間、どうすればサウンドを再生できますか。明確にするために、プログラムはMS-DOSウィンドウで動作するWindowsコンソールプログラムです。

役に立ちましたか?

解決 2

Ok。私が見つけたのは、アシングフラグがそこにあったとしても、コントロールが再び再生方法を完全に実行する必要があったため、関数にプレイサウンドメソッドを含めることができないということでした。関数のコード(その場合、そのコードが実行されている間にサウンドが再生されます)、つまりコントロールは再生が実行されるまで関数から戻りません。 [プレイ]メソッドが終了してから移動するまで。

他のヒント

別のスレッドでサウンドを再生してみませんか?

実際、私はiOSアプリで同じ問題を抱えていました。 .wavファイルを再生するのにどれくらい時間がかかるかを知っています。ファイターPlanesound()メソッドを呼び出すタイマーを作成できます。最良の解決策ではありませんが、それは私にとってはうまくいきます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top