簡體   English   中英

AVAudioSession setCategory .allowBluetooth 導致崩潰

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM