Several Android Compatibility Test Suite (CTS) tests for Android USB audio require the physical connection of USB audio peripherals. For these, additional CTS Verifier tests have been implemented.
Nomenclature
Throughout this document, the term "device" and "peripheral" are used in a very precise manner:
- Device refers to the Android device.
- Peripheral refers to an external USB audio peripheral connected to the Android device.
Mandated peripherals
For the USB audio CTS Verifier Tests to know the attributes and capabilities they are verifying, it is necessary to specify a set of known peripherals to test against. For this reason, specific brands and types are mandated below. Some tests require a specifically mandated peripheral. Other tests simply require a USB audio peripheral that meets the requirements of those specific test. Note that any of the peripherals mandated for the USB Audio Peripherals Attributes Test will be compatible with the requirements for the Play and Record tests.
USB audio interface
Use one of the peripherals here to conduct the USB Audio Peripheral Attributes test. They can also be used for the Play test and Record test.
A USB audio interface (A PreSonus AudioBox 96). | ![]() |
USB headset
The CTS Verifier USB Audio Buttons Test does not require a specific USB headset peripheral. It can be an instance of either of the following:
- A USB Headset peripheral that supports the Android USB Headset Accessory Specification. These headset peripherals are often indicated by the manufacturer as "Made for Android".
- An analog headset which supports the
Android
USB Headset Accessory Specification connected to a USB to analog audio converter (such as the
Google USB-C
digital to 3.5 mm headphone adapter or HTC USB-C digital to 3.5mm audio jack adapter).
Known examples of compatible analog headset peripherals include the Bose SoundSport® in-ear headphones – Samsung and Android™ devices, and the UrbanEars Reimers Black Belt made for Android headsets. These analog headsets must be connected to the device USB port via a USB to Audio converter.
Note that in either case, the button must produce virtual key codes for all three of the required buttons (volume up, volume down, play/pause) for the test to succeed. Refer to the Software mapping section in Android USB Headset Accessory Specification for the virtual key codes.
A USB headset. | ![]() |
Required additional hardware
Patch cables (for loopback) 2 short ¼" male to ¼" male patch cables to connect the outputs to the inputs of the USB
¼" male to ¼" male patch cables. | ![]() |
USB peripheral cable
This cable (which typically comes with the peripheral), connects the USB audio peripheral to the host device. | ![]() |
USB "On The Go" (OTG) adapter
A USB "On The Go" (OTG) adapter is required to physically connect the peripheral to the Android device and indicate to the Android device that it should assume the role of "host". | ![]() |
Analog headphones to monitor the output of the USB audio interface for the Play test.
Set of analog headphones. | ![]() |
Tests
In each test, indicate test success by clicking the test pass (check mark) button. Otherwise, indicate test failure by clicking the test fail (exclamation point) button.
Attributes test
Abstract
This test verifies that the attributes (supported sample-rates, channel configurations, sample formats, etc.) match the set of a-priori known attributes of the device.
Process
After invoking the test from the main menu, connect a USB audio peripheral. If the attributes match, the test pass (check mark) button will be enabled.
Select USB Audio Peripheral Attributes Test. | ![]() |
Summary of instructions is displayed. | ![]() |
Pre-connect screen. | ![]() |
USB audio peripheral connected to Android Device with peripheral cable and OTG adapter. | ![]() |
Post-connect screen. | ![]() |
Play test
Abstract
This test verifies that audio playback is functioning. It does this by generating a 1KHz test tone and presenting it in stereo (two-channels) to the USB audio peripheral.
Process
After invoking the test from the main menu, connect the USB audio interface, including the analog headset, to the headset output jack on the interface for monitoring.
Press the PLAY button. If the test tone is heard in both channels of the headset, indicate test pass by clicking the test pass (check mark) button. If either or both of the channels do not play the tone, indicate test failure by clicking the test fail (exclamation point) button.
Notes
Select USB Audio Peripheral Play Test. | ![]() |
Summary of instructions is displayed. | ![]() |
Pre-connect screen. | ![]() |
Connect the USB audio peripheral to the Android Device.
The headphones are connected to the headphone output jack on the USB audio interface for monitoring. |
![]() |
Post-connect screen. | ![]() |
Record (loopback) test
Abstract
This test verifies that audio recording is functioning. It does this by generating a tone at the outputs of the USB audio interface, which is then routed via patch cords to the inputs of the USB audio peripheral.
Process
After invoking the test from the main menu, connect the USB audio interface. Connect the analog outputs to the analog inputs with patch cables. Press the RECORD LOOPBACK button. If both the channels of the recorded test tone are shown in the view below, indicate test pass by clicking the test pass (check mark) button. If either or both of the channels does not display, indicate test failure by clicking the test fail (exclamation point) button.
Notes
Ensure positive connection of both input and output jacks on the peripheral. It will be necessary to adjust the input levels to correctly display the recorded signal.
Select USB Audio Peripheral Record Test. | ![]() |
Summary of instructions is displayed. | ![]() |
Pre-connect screen. | ![]() |
USB audio Interface with loopback connected to Android device. | ![]() |
Connections on the back of the USB audio interface. | ![]() |
Connections on the front of the USB audio interface. | ![]() |
Post-connect screen. | ![]() |
Post-connect screen, with record test running. | ![]() |
Headset buttons test
Abstract
This test verifies the media/transport buttons on the recommended headset are correctly recognized.
Process
After invoking the test from the main menu, connect the USB headset peripheral. Press each media/transport (play, pause, volume up & volume down) button on the headset. As each is recognized, it will be recognized in the test panel. When all buttons have been recognized, the test pass (check mark) button will be enabled. Click the test pass button to indicate success. If the full set of buttons is not recognized, indicate test failure by clicking the test fail (exclamation point) button.
Notes
The USB headset peripheral connected to the Android device.
Note the OTG adapter. |
![]() |
Select USB Audio Peripheral Buttons Test. | ![]() |
Summary of instructions is displayed. | ![]() |
Peripheral connected, but no buttons recognized (yet).
Note that the expected (buttons which are known to the device profile) are indicated with white text; those that are not part of the test peripheral are displayed in grey text. |
![]() |
Peripheral connected, and expected buttons recognized. | ![]() |