AVAudioSession 未检测到连接的蓝牙设备
Posted
技术标签:
【中文标题】AVAudioSession 未检测到连接的蓝牙设备【英文标题】:AVAudioSession not detecting connected bluetooth device 【发布时间】:2017-08-02 17:31:12 【问题描述】:我正在使用以下代码来检测可用输出,但它没有连接到我连接的蓝牙设备。我知道我的蓝牙设备已正确连接,因为我正在播放音乐。
let session = AVAudiosession.sharedInstance()
for description in session.currentRoute.outputs
if description.portType == AVAudioSessionPortHeadphones
NSLog("headphone plugged in")
let alertActin = UIAlertAction(title: "Headphones", style: UIAlertActionStyle.default, handler:nil)
alertActin.setValue(UIColor.blue, forKey: "titleTextColor")
alert.addAction(alertActin)
else if description.portType == AVAudioSessionPortBluetoothA2DP
NSLog("Bluetooth plugged in")
let alertActin = UIAlertAction(title: description.portName, style: UIAlertActionStyle.default, handler:nil)
alertActin.setValue(UIColor.blue, forKey: "titleTextColor")
alert.addAction(alertActin)
else if description.portType == AVAudioSessionPortBluetoothLE
NSLog("Bluetooth plugged in")
let alertActin = UIAlertAction(title: description.portName, style: UIAlertActionStyle.default, handler:nil)
alertActin.setValue(UIColor.blue, forKey: "titleTextColor")
alert.addAction(alertActin)
else
NSLog("")
【问题讨论】:
【参考方案1】:也许您需要指示 AVAudioSession 首先按照建议here 允许蓝牙输出。
请注意,this post 不鼓励使用 AVAudioSessionCategoryPlayAndRecord,并建议在使用输出设备时使用 AVAudioSessionCategoryPlayback。
【讨论】:
我将此添加到我的代码中,但我的蓝牙扬声器仍然没有出现 do try session.setCategory(AVAudioSessionCategoryPlayAndRecord, with: [.allowBluetooth]) try session.setActive(true) catch fatalError (“错误设置音频会话”)以上是关于AVAudioSession 未检测到连接的蓝牙设备的主要内容,如果未能解决你的问题,请参考以下文章