我正在编写一个使用AVAudioSession记录用户音频的应用程序。当我不向选项中添加蓝牙时,所有功能都运行良好,但我也希望能够使用AirPods进行录制。当我添加.allowBluetooth选项时,它会导致崩溃,并且不再起作用。
do {
let session = AVAudioSession.sharedInstance()
try session.setCategory(.record, mode: .default, options: [.defaultToSpeaker, .allowBluetooth])
try session.setActive(true)
} catch let error as NSError {
print(error.localizedDescription)
return
}
有什么建议吗?我浏览了许多与该主题相关的SO帖子,却发现没有什么可以解决我的问题。
最佳答案
您得到的错误代码-50,表明参数无效。
这是因为 .defaultToSpeaker
选项只能与playAndRecord
类别一起使用:
您可以仅在使用playAndRecord
类别时设置此选项。它用于修改类别的路由行为,以便在不使用其他附件(例如耳机)的情况下,始终将音频路由到扬声器而不是接收器。
因此,请删除此选项或使用playAndRecord
类别。
关于ios - AVAudioSession setCategory .allowBluetooth导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60592792/