我遇到以下问题:每当我在应用程序中为 Audio Session 设置播放和录制类别时,AirPlay都不可用:

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

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

该问题可以很容易地重现,例如。在Xcode文档的示例项目avTouch上,将AVAudioSessionCategoryPlayback类别替换为AVAudioSessionCategoryPlayAndRecord:在原始示例中,AirPlay选择器可见,并允许更改输出源,而在AVAudioSessionCategoryPlayAndRecord类别中,选择器消失。

是否有适当的方法可以切换到AVAudioSessionCategoryPlayAndRecord类别,以使AirPlay仍然可用?

(这样的问题是already asked,但没有得到任何答案。)

最佳答案

您要使用哪种AirPlay设备?有麦克风吗?

如果不是这样,则在使用PlayAndRecord类别时,iOS不会将其显示为选项,因为该设备无法播放记录。但是,在使用“播放”类别时,它会显示出来。

另外,如果您使用的设备是蓝牙设备,是否已将AVAudioSessionCategoryOptionAllowBluetooth设置为YES?

关于objective-c - AVAudioSessionCategoryPlayAndRecord使AirPlay不可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13138197/

10-12 06:21