objective-c - AVAudioSessionCategoryPlayAndRecord 使 AirPlay 不可见

标签 objective-c ios ipad airplay avaudiosession

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

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

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

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

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

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

最佳答案

您尝试使用哪种 AirPlay 设备?它有麦克风吗?

否则,iOS 将不会在使用 PlayAndRecord 类别时将其作为选项显示,因为该设备无法播放录音。不过,它会在使用“播放”类别时显示。

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

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

相关文章:

ios - XIB 和 Storyboard 自动表达我的观点

ios - 从 CGFloat 数组创建属性 - iOS

ios - 构建 MapView 注释非常慢

javascript - 为什么在为 touchstart 事件调用 preventDefault() 时会抑制 onclick 事件?

objective-c - 防止 NSTextView 的字体改变

iphone - 在计算角度时避免使用 atan2 - atan2 精度

IOS10 将所有 xcode 控制台日志打印到 iPhone 应用程序页面内的 UITextview

ios - 如何释放 View Controller 数组中的 View Controller ?

ios - 尽管应用程序处于横向模式,但仍会调用 willHideViewController

java - iPad 开发是否可以通过 Java 代码与 Spring Framework 进行交互,使用 TomCat 在服务器上托管 Web 服务?如何?