AVAudioSessionCategoryPlayAndRecord使AirPlay不可见

Ana*_*sia 12 objective-c ipad ios avaudiosession airplay

我遇到以下问题:每当我将播放和录制类别设置为我的应用程序中的音频会话时,AirPlay就不可用:

[[AVAudioSession sharedInstance]
        setCategory: AVAudioSessionCategoryPlayAndRecord
        error: &setCategoryError];
Run Code Online (Sandbox Code Playgroud)

此调用使AirPlay消失并立即将音频重新路由到扬声器.

问题可以很容易地重现,例如在avTouchXcode文档中的示例项目中,通过用以下AVAudioSessionCategoryPlayback类别替换类别 AVAudioSessionCategoryPlayAndRecord:在原始示例中,AirPlay选择器是可见的并允许更改输出源,而AVAudioSessionCategoryPlayAndRecord选择器类别则消失.

有没有正确的方法切换到AVAudioSessionCategoryPlayAndRecord类别,以便AirPlay仍然可用?

(这样的问题已经被问到,但没有得到任何答案.)

小智 -1

嗯,Air​​Play 和 PlayAndRecord 类别是不兼容的。这是我从苹果论坛了解到的。

当音频输出发生在其他地方时,为什么需要在设备上输入音频?