# Perform Bluetooth A2DP sink functions

Source: [https://docs.qualcomm.com/doc/80-70017-13/topic/bluez-perform-bluetooth-a2dp-sink-functions.html](https://docs.qualcomm.com/doc/80-70017-13/topic/bluez-perform-bluetooth-a2dp-sink-functions.html)

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

Before you begin, set up your device and go to the required menu as described in
                    [Set up device for A2DP functions](https://docs.qualcomm.com/doc/80-70017-13/topic/bluez-a2dp.html#bluez-a2dp__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:41Copy 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:

    listCopy to clipboard

**Sample output**

[MyDeviceB]# list
    Transport /org/bluez/hci0/dev_D4_8A_39_78_27_41/sep1/fd2Copy 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/fd2Copy 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 0Copy 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 succeededCopy 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:

    pauseCopy 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:

    stopCopy 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: idleCopy to clipboard

## Play the next audio file

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

    nextCopy to clipboard

**Sample output**

[MyDeviceB]# next
    Attempting to jump to next
    Next successfulCopy to clipboard

## Play the previous audio file

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

    previousCopy to clipboard

**Sample output**

[MyDeviceB]# previous
    Attempting to jump to previous
    Previous successfulCopy to clipboard

## Fast forward playback

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

    fast-forwardCopy 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:41Copy 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: noCopy 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

**Parent Topic:** [Advanced Audio Distribution Profile](https://docs.qualcomm.com/doc/80-70017-13/topic/bluez-a2dp.html)

Last Published: Dec 26, 2024

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