# Perform Bluetooth A2DP sink functions

You can perform Bluetooth A2DP sink functions using the `bluetoothctl` menu, `menu transport` submenu, and `menu player` submenu. Bluetooth A2DP sink functions include connecting or disconnecting to a remote device and listing available transport options for audio streams. They allow you to retrieve information about codec capabilities, set the absolute volume, and play an audio file. You can use playback controls to pause, stop, play the next or previous audio file, and fast-forward during playback.

## Prerequisites

Before you begin, set up your device and go to the required menu as described in [Set up the device for A2DP functions](https://docs.qualcomm.com/doc/80-80022-13/topic/bluez-a2dp.html#section-fwp-mx5-mcc-08-25-24-1121-38-413).

## Connect a remote device

To connect a remote device, run the following command from the `bluetoothctl` menu:

connect <bt_address>
    Copy to clipboard

**Parameters**

`<bt_address>` is the Bluetooth address of the remote device.

**Example**

To connect to a paired remote device with `<bt_address>` `D4:8A:39:78:27:41`, run the following command:

connect D4:8A:39:78:27:41
    Copy to clipboard

**Sample output**

[bluetooth]# connect D4:8A:39:78:27:41
    Attempting to connect to D4:8A:39:78:27:41
    [CHG] Device D4:8A:39:78:27:41 Connected: yes
    [NEW] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1
    [NEW] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep2
    [NEW] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep3
    [NEW] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep4
    [NEW] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep5
    [NEW] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2
    Connection successful
    [NEW] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 [default]
    [CHG] Device D4:8A:39:78:27:41 ServicesResolved: yes
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Repeat: off
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Shuffle: off
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: stopped
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Title: Not Provided
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 TrackNumber: 0x00000001 (1)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 NumberOfTracks: 0x00000001 (1)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Duration: 0x00000000 (0)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Album:
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Artist:
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Genre:
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 Volume: 0x004d (77)
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: pending
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: active
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: playing
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: idle
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: stopped
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [MyDeviceB]#
    Copy to clipboard

## List available transport

To list the available transport, run the following command from the `menu transport` submenu:

list
    Copy to clipboard

**Sample output**

[MyDeviceB]# list
    Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2
    Copy to clipboard

## Get information about codec capabilities

To get information about the codec capabilities of a transport, run the following command from the `menu transport` submenu:

show <transport>
    Copy to clipboard

**Parameters**

`<transport>` is the transport path.

**Example**

To get information about the codec capabilities of `<transport>` `/org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2`, run the following command:

show /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2
    Copy to clipboard

**Sample output**

[MyDeviceB]# show /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2
    Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2
       UUID: 0000110b-0000-1000-8000-00805f9b34fb
       Codec: 0x00 (0)
       Configuration: 0x21 (33)
       Configuration: 0x15 (21)
       Configuration: 0x02 (2)
       Configuration: 0x35 (53)
       Device: /org/bluez/hci0/dev_D4_8A_39_78_27_41
       State: active
       Volume: 0x007f (127)
    Copy to clipboard

## Set absolute volume

Note

Ensure that the DUT and the remote device support the `setabsvolume` feature.

To set the absolute volume of a transport, run the following command from the `menu transport` submenu:

volume <transport> [value]
    Copy to clipboard

**Parameters**

- `<transport>` is the transport path.
- `[value]` is the volume level.

**Example**

To set the absolute volume of `<transport>` `/org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2` as `0`, run the following command:

volume /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 0
    Copy to clipboard

**Sample output**

<me /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 0
    Changing Volume succeeded
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 Volume: 0x0000 (0)
    <me /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 100
    Changing Volume succeeded
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 Volume: 0x0064 (100)
    < /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 50
    Changing Volume succeeded
    Copy to clipboard

## Play an audio file

To play an audio file, run the following command from the `menu player` submenu:

play [item]
    Copy to clipboard

**Sample output**

[MyDeviceB]# play
    Attempting to play
    Play successful
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: pending
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: active
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x000cc8b9 (837817)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: playing
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x000cc932 (837938)
    [MyDeviceB]#
    Copy to clipboard

## Pause playback

To pause playback, run the following command from the `menu player` submenu:

pause
    Copy to clipboard

**Sample output**

[MyDeviceB]# pause
    Attempting to pause
    Pause successful
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x000cc888 (837768)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: paused
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x000cc888 (837768)
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: idle
    [MyDeviceB]#
    Copy to clipboard

## Stop playback

To stop playback, run the following command from the `menu player` submenu:

stop
    Copy to clipboard

**Sample output**

[MyDeviceB]# stop
    Attempting to stop
    Stop successful
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: stopped
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    [CHG] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2 State: idle
    Copy to clipboard

## Play the next audio file

To play the next audio file, run the following command from the `menu player` submenu:

next
    Copy to clipboard

**Sample output**

[MyDeviceB]# next
    Attempting to jump to next
    Next successful
    Copy to clipboard

## Play the previous audio file

To play the previous audio file, run the following command from the `menu player` submenu:

previous
    Copy to clipboard

**Sample output**

[MyDeviceB]# previous
    Attempting to jump to previous
    Previous successful
    Copy to clipboard

## Fast forward playback

To fast forward playback, run the following command from the `menu player` submenu:

fast-forward
    Copy to clipboard

**Sample output**

[MyDeviceB]# fast-forward
    Fast forward playback
    FastForward successful
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Status: forward-seek
    [CHG] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 Position: 0x00000000 (0)
    Copy to clipboard

## Disconnect a remote device

To disconnect a remote device, run the following command from the `bluetoothctl` menu:

disconnect <bt_address>
    Copy to clipboard

**Parameters**

`<bt_address>` is the Bluetooth address of the remote device.

**Example**

To disconnect a paired remote device with `<bt_address>` `D4:8A:39:78:27:41`, run the following command:

disconnect D4:8A:39:78:27:41
    Copy to clipboard

**Sample output**

[MyDeviceB]# disconnect D4:8A:39:78:27:41
    Attempting to disconnect from D4:8A:39:78:27:41
    [DEL] Player /org/bluez/hci0/dev_D4_8A_39_78_27_41/player0 [default]
    [DEL] Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd1
    [DEL] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1
    [DEL] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep2
    [DEL] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep3
    [DEL] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep4
    [DEL] Endpoint /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep5
    [CHG] Device D4:8A:39:78:27:41 ServicesResolved: no
    Successful disconnected
    [CHG] Device D4:8A:39:78:27:41 Connected: no
    Copy to clipboard

## Other player functions

The `menu player` submenu offers other functions that enable you to:

- Shuffle tracks
- Rewind an audio file
- Repeat a single track, all tracks, or a playlist
- Switch the equalizer on or off
- Search a track

Last Published: May 10, 2026

[Previous Topic
Perform Bluetooth A2DP source functions](https://docs.qualcomm.com/bundle/publicresource/80-80022-13/topics/bluez-perform-bluetooth-a2dp-source-functions.md) [Next Topic
Verify HFP functions](https://docs.qualcomm.com/bundle/publicresource/80-80022-13/topics/bluez-hfp.md)