# Perform Bluetooth A2DP sink functions

You can perform A2DP sink functions using the `a2dp_sink_menu` options.

Before you begin, set up the device and go to the A2DP sink menu as described in [Set up device for A2DP functions](https://docs.qualcomm.com/doc/80-70018-13/topic/set-up-a2dp.html#section-j44-jzy-kcc-navyanka-08-18-24-2110-52-709).

## Connect to an A2DP sink device

To connect to an A2DP sink device, run the following command:

connect <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To connect to a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

connect f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

connect f8:7d:76:9d:9b:6b
    No session exists for the usecase
    The server answered: obj path: '/org/pulseaudio/ext/pal/loopback/ses_1'
    BT a2dp connect success
    ACL state:0 change with reason 00 for device: f8:7d:76:9d:9b:6b
    Codec Configuration for device f8:7d:76:9d:9b:6b
    Codec type = SBC
    Sample Rate = 44100
    Channel Mode = 2
    A2DP Sink Connected to f8:7d:76:9d:9b:6b
       AVRCP_CTRL_CONNECTED_CB
    <-- getcap rsp message received!
       num_supported:1, rsp_type: 12
       CompanyIDO: 0x6488
    AVRCP_CTRL_BR_CONNECTED_CB
    <-- getcap rsp message received!
       num_supported:7, rsp_type: 12
       SupportedEvent0: 0x1
       SupportedEvent1: 0x2
       SupportedEvent2: 0x8
       SupportedEvent3: 0x9
       SupportedEvent4: 0x10
       SupportedEvent5: 0x11
       SupportedEvent6: 0x12
    <-- notification message received!
       event_id:1, rsp_type:0
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x0
    <-- notification message received!
       event_id:2, rsp_type:0
       EVENT_TRACK_CHANGED track: 0xff
    <-- notification message received!
       event_id:8, rsp_type:0
       EVENT_APP_SETTING_CHANGED attr_id0: 0x2 attr_value0: 0x1
       EVENT_APP_SETTING_CHANGED attr_id1: 0x3 attr_valuel: 0x1
    <-- notification message received!
       event_id:9, rsp_type:0
       EVENT_NOW_PLAYING_CHANGED
    <-- notification message received!
       event_id:10, rsp_type:0
       EVENT_AVAL_PLAYERS_CHANGED
    <-- notification message received!
       event_id:11, rsp_type:0
       EVENT_ADDR_PLAYER_CHANGED player_id: 0x1 uid_counter: 0x0
    ^[S Processing event 441 in state 1
    current State = 1, new state = 2
    Copy to clipboard

## Play an audio file

To play an audio file on the remote device, run the following command:

play <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To play an audio file on a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

play f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

***********************************************
    play f8:7d:76:9d:9b:6b
    ***********************************************
    Recieved Start from Src device
    ***********************************************
    <-- notification message received!
       event_id:1, rsp_type:1
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x1
    <-- notification message received!
       event_id:2, rsp_type:1
       EVENT_TRACK_CHANGED track: 0x0
    <-- notification message received!
       event_id:1, rsp_type:0
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x1
    <-- notification message received!
       event_id:2, rsp_type:0
       EVENT_TRACK_CHANGED track: 0x0
    btsink_enable=1 success
    Copy to clipboard

## Pause audio playback

To pause audio playback, run the following command:

pause <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To pause audio playback on a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

pause f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

pause f8:7d:76:9d:9b:6b
    <-- notification message received!
       event_id:1, rsp_type:1
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x0
    <-- notification message received!
       event_id:2, rsp_type:1
       EVENT_TRACK_CHANGED track: 0xff
    <-- notification message received!
       event_id:1, rsp_type:0
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x0
    <-- notification message received!
       event_id:2, rsp_type:0
       EVENT_TRACK_CHANGED track: 0xff
    ****************************************************
    Recieved Suspend from Src device
    ****************************************************
    btsink enable=0 success
    Copy to clipboard

## Stop audio playback

To stop audio playback, run the following command:

stop <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To stop audio playback on a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

stop f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

stop f8:7d:76:9d:9b:6b
    <-- notification message received!
       event_id:1, rsp_type:1
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x0
    <-- notification message received!
       event_id:2, rsp_type:1
       EVENT_TRACK_CHANGED track: 0xff
    <-- notification message received!
       event_id:1, rsp_type:0
       EVENT_PLAYBACK_STATUS_CHANGED play_status: 0x0
    <-- notification message received!
       event_id:2, rsp_type:0
       EVENT_TRACK_CHANGED track: 0xff
    Copy to clipboard

## Rewind an audio playback

To rewind an audio playback, run the following command:

rewind <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To rewind audio playback on a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

rewind f8:7d:76:9d:9b:6b
    Copy to clipboard

## Increase the volume

To increase the volume by one, run the following command:

volup <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To increase the volume of a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

volup f8:7d:76:9d:9b:6b
    Copy to clipboard

## Decrease the volume

To decrease the volume by one, run the following command:

voldown <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To decrease the volume of a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

voldown f8:7d:76:9d:9b:6b
    Copy to clipboard

## Set volume level

To set the volume level, run the following command:

volchangednoti <vol level(0-15)>
    Copy to clipboard

**Parameters**

`<vol level(0-15)>` is the level of volume. It ranges from 0 to 15.

**Example**

To set the absolute volume to level 10, run the following command:

volchangednoti 10
    Copy to clipboard

**Sample output**

volchangednoti 10
    btsink_volume=10 set successfully
    volchangednoti 15
    btsink_volume=15 set successfully
    Copy to clipboard

## Mute the volume

To mute the volume, run the following command:

mute <bt_address>
    Copy to clipboard

**Parameters**

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

**Example**

To mute the volume of a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

mute f8:7d:76:9d:9b:6b
    Copy to clipboard

## Set codec priority

To set the codec priority of the sink, run the following command:

codec_list <codec1,param1,param2,codec2,param1,param2,....>
    Copy to clipboard

**Parameters**

`<codec1,param1,param2,codec2,param1,param2,....>` is the order of priority.

**Example**

To set the first priority as SBC 44.1 kHz and the second priority as SBC 48 kHz, run the following command:

codec_list sbc,44.1,sbc,48
    Copy to clipboard

**Sample output**

codec_list sbc,44.1,sbc,48
    Codec List: sbc,44.1,sbc,48
    num_codec_configs = 2
    Copy to clipboard

Note

The priority of codecs is applied to new connections. Hence, set the codec priority before establishing a connection.

## Other functions

The following player-related settings depend on the capabilities of the remote device player. You can configure or explore these settings based on your remote device player.

- Get and configure player settings
- Know the current player status
- Add a track to a playlist
- Get details about the current track
- Search for an audio file

Last Published: Apr 02, 2025

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