1

AVAudioEngine を使用して、音声にリアルタイム エフェクトを適用しながらユーザーの音声を録音しています。

セッション中にユーザーが自分の声を聞くことができるようにする必要があるため、AVAudioEngine グラフを次のように接続しました。

inputNode -> オーディオ効果ノード -> mainMixerNode (ここにインストールされているタップ) -> outputNode

また、mainMixerNode にノード タップをインストールして、処理された音声をプルし、バッファに保存しました。

ヘッドフォンを接続している場合、これらはすべて正常に機能します。ただし、録音中にヘッドフォンを途中で外すと、多くの鋭いエコーとフィードバックが発生します。これは、音声が再生用の出力に送信され、ユーザーの元の入力音声が強化されるためだと思います。

録音セッション中にヘッドフォンが途中で抜かれた場合のフィードバックを最小限に抑える良い方法はありますか? mainMixerNode を動的に切断して、プラグを抜いているときに音声が出力にルーティングされないようにすることを考えましたが、より良い方法があるかどうかはわかりません。

理想的には、ユーザーがセッション内でヘッドフォンを何度も抜き差ししても、各録音セッションの最後に 1 つのオーディオ バッファーが必要です。

何かご意見は?前もって感謝します!

4

1 に答える 1