[英]AVAudioSession setCategory .allowBluetooth causes crash
我正在編寫一個使用 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
類別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.