私の iPhone アプリでは、オーディオの録音と iPod の音楽の再生を同時に試みているので、オーディオ セッション カテゴリを kAudioSessionCategory_PlayAndRecord に設定します。しかし、これを設定すると、すべてのシステム オーディオ (バイブレーションを含む) が機能しなくなりますが、iPod オーディオは引き続き機能します。これがSDKのバグなのか、それを回避する方法なのか、誰か知っていますか? 助けてください!
前もって感謝します!
私の iPhone アプリでは、オーディオの録音と iPod の音楽の再生を同時に試みているので、オーディオ セッション カテゴリを kAudioSessionCategory_PlayAndRecord に設定します。しかし、これを設定すると、すべてのシステム オーディオ (バイブレーションを含む) が機能しなくなりますが、iPod オーディオは引き続き機能します。これがSDKのバグなのか、それを回避する方法なのか、誰か知っていますか? 助けてください!
前もって感謝します!
kAudioSessionOverrideAudioRoute のドキュメントを見ると、カテゴリ PlayAndRecord のデフォルトはオーディオをレシーバー (電話で話しているときに使用するスピーカー) にルーティングすることであることがわかります。すべてのオーディオがそこにルーティングされていて、耳をそこに置かないと聞こえない可能性はありますか?
オーディオの行き先を変更したい場合は、AudioSessionSetProperty を呼び出し、オーディオの行き先を指定する定数を渡す必要があります。これらの定数は
kAudioSessionOverrideAudioRoute_None、オーディオをレシーバーにルーティングすることを指定します (現在のように)、または
kAudioSessionOverrideAudioRoute_Speakerは、オーディオが電話の下部にあるスピーカーにルーティングされる必要があることを指定します
UInt32 routeVar = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(routeVar), &routeVar);