QTのPhononコンポーネントを使用して、C++でのユーザーインタラクション用のサウンドを再生しています。多くのテストを行った後、キューに入れられたサウンドは、メインスレッドがメインメッセージループに戻ったときにのみ再生を開始することを確認できます。長い処理コードの場合、これによりサウンドの再生に遅延が生じます。その遅延を回避する方法を見つける必要があります。
別のスレッドでサウンドを試してみましたが、フォノンに欠陥があるため、そのスレッドで一部のオブジェクトを作成できません。したがって、一部の信号は常にメインスレッドでスタックします。
いくつかの理由から、単にイベントループにすばやく戻ることはできません。
- 一部のオブジェクトの作成は単純に遅く、高速化できないか、スレッドで簡単に実行できません(データベース接続など)。
- フォノンは複数の信号を使用するため、すばやく戻っても他の信号/イベントはフォノン信号をブロック/干渉します
サウンドAPIの最も基本的な使用例を取り上げたいと思っています。ユーザーが何かをしたときにサウンドを再生し(ボタンをクリックするなど)、そのサウンドをすぐに再生します。確かにそれはフォノンで何とかカバーされなければなりませんか?