12

次の問題が発生しています: アプリケーションで再生と録音のカテゴリをオーディオ セッションに設定すると、常に AirPlay が利用できなくなります。

[[AVAudioSession sharedInstance]
        setCategory: AVAudioSessionCategoryPlayAndRecord
        error: &setCategoryError];

この呼び出しにより、AirPlay が非表示になり、音声がすぐにスピーカーに再ルーティングされます。

avTouchこの問題は、たとえばXcode ドキュメントのサンプル プロジェクトでAVAudioSessionCategoryPlaybackcategory を に置き換えることで簡単に再現できますAVAudioSessionCategoryPlayAndRecord。元の例では、AirPlay ピッカーが表示され、出力ソースを変更できますが、AVAudioSessionCategoryPlayAndRecordカテゴリではピッカーが消えます。

AVAudioSessionCategoryPlayAndRecordAirPlay を利用できるようにカテゴリを切り替える適切な方法はありますか?

(このような質問は既に行われていますが、回答がありませんでした。)

4

3 に答える 3

1

どの AirPlay デバイスを使用しようとしていますか? マイクはありますか?

そうでない場合、iOS は PlayAndRecord カテゴリを使用するときにそれをオプションとして提示しません。これは、そのデバイスが再生および記録できないためです。ただし、Play カテゴリを使用すると表示されます。

また、お使いのデバイスが Bluetooth デバイスの場合、AVAudioSessionCategoryOptionAllowBluetooth を YES に設定していますか?

于 2013-10-10T20:50:31.290 に答える
0

上記のコードを追加する必要があると思いますAVAudioSession。私はそれがうまくいくことを願っています。

NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError];

if (setCategoryError) {
    // Handle error
}
于 2013-03-01T11:52:09.350 に答える
-1

まあ、AirPlay と PlayAndRecord カテゴリは互換性がありません。これは、Apple フォーラムで学んだことです。

オーディオ出力が別の場所で発生するのに、デバイスでオーディオ入力が必要なのはなぜですか?

于 2012-11-05T19:41:02.440 に答える