私たちのアプリは、マイクからオーディオ入力を取得するためにremoteIO(オーディオユニット)を使用し、それをリアルタイムでDSPに渡します。私にバッファを与えるコールバック関数があり、私はそれを処理します。再生と録音 - AudioSessionSetProperty ..?
同時に、avAudioPlayerでサウンドを再生する必要があります。
私は私のinitにこの置く:(スピーカーへのルート音を、それを再生してみましょうとレコード)
UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
をその後私は奇妙な何かを見てきました。小さなスピーカーから音が再生されています - あなたの耳を置くために使用するもの、電話で。
それから私はトリックをしました。 私は本当にスピーカーに音をルーティングするために、私は何かを演奏し、同時にこの4行を実行しなければならないことを見ました。 私はそれを1回すると、音はスピーカーに永久に戻るです。 メソッドを呼び出すタイマーでこれを行いました。このメソッドがそれらを実行する瞬間、私はavaudioPlayerでサウンドを再生し、それを修正してスピーカーにサウンドルートを送ります。
いずれかの解決策や説明がありますか? 私は本当にスピーカーで、トリックなしでサウンドを再生する必要があります。