遇见一个需求,耳机插入播放一种音频文件,未插入播放另外一种.代码逻辑写好了以后,发现判断耳机插入逻辑走不通.
最后发现在AVAudioSessionPort,我的蓝牙耳机类型是AVAudioSessionPortBluetoothA2DP,而代码逻辑只判断了AVAudioSessionPortHeadphones.
所以整理一下AVAudioSessionPort的输出设备类型:
1、AVAudioSessionPortLineOut
Line-level output to the dock connector.(线路级输出到总线坞)
总线坞是下图
2、AVAudioSessionPortHeadphones
Output to a wired headset.(输出到有线耳机)
3、AVAudioSessionPortBluetoothA2DP(A2DP全名是Advanced Audio Distribution Profile 蓝牙音频传输模型协定。)
Output on a Bluetooth A2DP device .(输出到蓝牙A2DP设备)
4、AVAudioSessionPortBuiltInReceiver
Output to a speaker intended to be held near the ear.(贴耳朵时候内置扬声器(打电话的时候的听筒))
5、AVAudioSessionPortBuiltInSpeaker
Output to the device’s built-in speaker.(输出到设备的内置扬声器。(iOS设备内置的扬声器))
6、AVAudioSessionPortHDMI
Output to a device via the High-Definition Multimedia Interface (HDMI) specification.(通过高清多媒体接口(HDMI)规范输出到设备。)
7、AVAudioSessionPortAirPlay
Output to a remote device over AirPlay.(远程AirPlay设备.)
8、AVAudioSessionPortBluetoothLE
Output to a Bluetooth Low Energy (LE) peripheral.(蓝牙低电量输出设备.)