Documentation

Support

Vivox Core SDK

Vivox Core SDK

Bluetooth audio profile management

Manage user Bluetooth preferences.
Read time 1 minuteLast updated 20 hours ago

The Vivox SDKs for Android support selecting a preference for a Bluetooth audio profile. By default, Bluetooth Synchronous Connection Oriented Link (Hands-Free Profile) is preferred so that microphone audio is captured from the Bluetooth headset. The only other available preference is for Bluetooth Advanced Audio Distribution Profile (A2DP), which allows for high-quality stereo audio output at the cost of having to get microphone audio from the Android handset microphones. The Bluetooth profile preference may be set by developers (or users, if exposed in the application's settings) in order to achieve the desired Bluetooth behavior on Android. This documentation goes into the details of what the Bluetooth profiles are and what is to be expected from the default profile preference (SCO) and its alternative (A2DP).

Bluetooth profile

The Bluetooth API includes support for working with Bluetooth profiles. A Bluetooth profile is a wireless interface specification for Bluetooth-based communication between devices, such as the Hands-Free profile. For example, for a mobile device to connect to a wireless headset, both devices must support the Hands-Free profile. The Bluetooth API provides implementations for the following Bluetooth profiles that are relevant to Vivox:
  • A2DP: The Advanced Audio Distribution Profile.
  • HFP: The Hands-Free Profile (aka SCO).
Bluetooth profile comparisonA comparison between using A2DP or SCO profiles.
SCO handshake failuresWhy does the SCO handshake sometimes fail?
Bluetooth tradeoffs with VivoxBluetooth profile behavior in Vivox.
Changing Vivox's Bluetooth profileHow to change the Bluetooth profile used by a Vivox application.
Troubleshooting SCO underrun issuesA suggested work-around for choppy audio with SCO.