# Perform Bluetooth A2DP sink functions

You can perform Bluetooth A2DP sink functions using the `bluetoothctl` menu, `menu transport` submenu, and `menu player` submenu.

## 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-70022-13/topic/bluez-a2dp.html#section-fwp-mx5-mcc-navyanka-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: Sep 15, 2025

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