0

私の iPhone アプリでは、オーディオの録音と iPod の音楽の再生を同時に試みているので、オーディオ セッション カテゴリを kAudioSessionCategory_PlayAndRecord に設定します。しかし、これを設定すると、すべてのシステム オーディオ (バイブレーションを含む) が機能しなくなりますが、iPod オーディオは引き続き機能します。これがSDKのバグなのか、それを回避する方法なのか、誰か知っていますか? 助けてください!

前もって感謝します!

4

1 に答える 1

3

kAudioSessionOverrideAudioRoute のドキュメントを見ると、カテゴリ PlayAndRecord のデフォルトはオーディオをレシーバー (電話で話しているときに使用するスピーカー) にルーティングすることであることがわかります。すべてのオーディオがそこにルーティングされていて、耳をそこに置かないと聞こえない可能性はありますか?

オーディオの行き先を変更したい場合は、AudioSessionSetProperty を呼び出し、オーディオの行き先を指定する定数を渡す必要があります。これらの定数は

kAudioSessionOverrideAudioRoute_None、オーディオをレシーバーにルーティングすることを指定します (現在のように)、または

kAudioSessionOverrideAudioRoute_Speakerは、オーディオが電話の下部にあるスピーカーにルーティングされる必要があることを指定します

UInt32 routeVar = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(routeVar), &routeVar);
于 2011-03-11T13:56:16.787 に答える