Search code examples
iosbluetoothavaudiosessiona2dp

What's the difference among AVAudioSessionPortBluetoothHFP, A2DP and LE?


There are three different Bluetooth related audio port types documented in Apple's AVAudioSessionPortDescription reference. But Apple doesn't explain much about these three types. Can somebody help explain more?


Solution

  • AVAudioSessionPortBluetoothHFP | Input and Output

    This is used when connected to a bluetooth devices through Hands-Free profile, like cars or earpieces. It can be accessed by setting your audio session category to AVAudioSessionCategoryPlayAndRecord and category option AVAudioSessionCategoryOptionAllowbluetooth.

    AVAudioSessionPortBluetoothA2DP | Output only

    This is mainly used for streaming audio using A2DP (advanced audio distribution profile). The small portable bluetooth speakers (like the Jambox) use this profile for streaming audio. It can be accessed by setting your audio session category to AVAudioSessionCategoryPlayback.

    AVAudioSessionPortBluetoothLE | Output only

    New as of iOS 7 however I am not aware of any devices that you can stream audio to that implement the Bluetooth Low Energy protocol.