AVAudioSession未检测到连接的蓝牙设备

时间:2017-08-02 17:31:13

标签: ios iphone swift bluetooth avaudioplayer

我使用以下代码检测可用输出,但它并没有拿起我连接的蓝牙设备。我知道我的蓝牙设备已正确连接,因为我正在播放音乐。

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 个答案:

答案 0 :(得分:1)

也许您需要指示AVAudioSession首先按照建议here允许蓝牙输出。

请注意this post使用AVAudioSessionCategoryPlayAndRecord并建议在使用输出设备时使用AVAudioSessionCategoryPlayback。