3

正しく再生、停止、一時停止しているオーディオ キューがありますが、AudioQueueStop() 関数の実行に時間がかかっていることがわかりました。

Audio Queue の再生をすぐに停止してから再開したいのですが、そのための最も簡単な方法は何だろうかと考えていました。

私のプロジェクトでは、特定のサウンドを何度も再生するために保持している複数のオーディオ キューがあります。これらのサウンドのいくつかを停止し、すぐにそれらを再生し、さらに多くのサウンドを一度に再生する必要がある状況があります。これを行うオーディオ キューが 2 つしかない場合はそれほど悪くはありませんが、停止して再起動する必要があるオーディオ キューが多数ある場合は、非常に長い時間がかかります。

オーディオ キューで stop を呼び出してから、同じサウンドで新しいものを作成することで偽造することができましたが、それを行うためのより良い方法があるかどうか疑問に思っていました。

4

1 に答える 1

2

AudioQueueそのようなものには面倒です。バッファーの途中でキューを停止することは困難です。つまり、現在のバッファーが引き続き再生されます。さらに、遅延の問題に対処する必要があります。

低遅延で高速停止と再生を行うには、RemoteIO AudioUnit を使用することをお勧めします。

ここでコードを使用した優れたチュートリアルを見つけることができます。

RemoteIO オーディオユニットの使用

于 2012-01-18T10:22:03.800 に答える