# 执行蓝牙 A2DP 发送端功能

您可以使用 `bluetoothctl` 菜单、`menu transport` 子菜单和 `paplay` 命令执行蓝牙 A2DP 发送端功能。

开始之前，请设置您的设备并进入所需菜单，如[设置设备以使用 A2DP 功能](https://docs.qualcomm.com/doc/80-70020-13SC/topic/bluez-a2dp.html#section-fwp-mx5-mcc-navyanka-08-25-24-1121-38-413)中所述。

## 连接远程设备

要以 A2DP 发送端角色连接远程设备，请从 `bluetoothctl` 菜单运行以下命令：

connect <bt_address>
    Copy to clipboard

**参数**

`<bt_address>` 是远程设备的蓝牙地址。

**示例**

要使用 `<bt_address>` `17:1A:35:8D:A2:A4` 连接到已配对的远程设备，请运行以下命令：

connect 17:1A:35:8D:A2:A4
    Copy to clipboard

**示例输出**

[bluetooth]# connect 17:1A:35:8D:A2:A4
    Attempting to connect to 17:1A:35:8D:A2:A4
    [CHG] Device 17:1A:35:8D:A2:A4 Connected: yes
    [CHG] Device 17:1A:35:8D:A2:A4 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
    [CHG] Device 17:1A:35:8D:A2:A4 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
    [CHG] Device 17:1A:35:8D:A2:A4 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
    [CHG] Device 17:1A:35:8D:A2:A4 ServicesResolved: yes
    [CHG] Device 17:1A:35:8D:A2:A4 Bonded: yes
    [CHG] Device 17:1A:35:8D:A2:A4 Paired: yes
    [NEW] Endpoint /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1
    [NEW] Endpoint /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep2
    [NEW] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0
    Connection successful
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 State: active
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 Volume: 0x0040 (64)
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 State: idle
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 Volume: 0x0044 (68)
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 Volume: 0x0040 (64)
    [MySoundbar]#
    Copy to clipboard

## 列出可用的传输

要列出可用的传输，请从 `menu transport` 子菜单运行以下命令：

list
    Copy to clipboard

**示例输出**

[MySoundbar]# list
    Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0
    Copy to clipboard

## 获取有关 codec 功能的信息

要获取有关传输 codec 功能的信息，请从 `menu transport` 子菜单运行以下命令：

show <transport>
    Copy to clipboard

**参数**

`<transport>` 为传输路径。

**示例**

要获取有关 `<transport>` `/org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0` codec 功能的信息，请运行以下命令：

show /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0
    Copy to clipboard

**示例输出**

[MySoundbar]# show /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0
    Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0
          UUID: 0000110a-0000-1000-8000-00805f9b34fb
          Codec: 0x00 (0)
          Configuration: 0x21 (33)
          Configuration: 0x15 (21)
          Configuration: 0x02 (2)
          Configuration: 0x35 (53)
          Device: /org/bluez/hci0/dev_17_1A_35_8D_A2_A4
          State: idle
          Volume: 0x0040 (64)
    Copy to clipboard

## 设置绝对音量

Note

确保 DUT 和远程设备支持 `setabsvolume` 功能。

要设置传输的绝对音量，请从 `menu transport` 子菜单运行以下命令：

volume <transport> [value]
    Copy to clipboard

**参数**

- `<transport>` 为传输路径。
- `[value]` 是音量大小。

**示例**

要将 `<transport>` `/org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0` 的绝对音量设置为 `50`，可运行以下命令：

volume /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 50
    Copy to clipboard

**示例输出**

[MySoundbar]# volume /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 50
    Changing Volume succeeded
    [CHG] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 Volume: 0x0032 (50)
    [MySoundbar]# volume /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd0 10
    Changing Volume succeeded
    Copy to clipboard

## 播放音频文件

Note

- DUT 不支持音频播放器。使用 `paplay` 命令播放音乐。
- 仅支持 PCM 音频样本。

要播放 DUT 中的歌曲，请执行以下操作：

1. 运行 SSH。
2. 通过运行以下命令播放 WAV 文件：

paplay <audio_filepath> -v
        Copy to clipboard

    **参数**

    `<audio_filepath>` 是 WAV 文件的文件路径。

    **示例**

    要播放 `/tmp/pcmtest.wav` 处的 WAV 文件，请运行以下命令：

paplay /tmp/pcmtest.wav -v
        Copy to clipboard

    **示例输出**

sh-5.1# paplay /tmp/pcmtest.wav -v
        Opening a playback stream with sample specification 's16le 2ch 44100Hz' and channel map 'front-left,front-right'.
        Connection established.
        Strean successfully created.
        Buffer metrics: maxlength=4194304, tlength=352800, prebuf=349276, minreq=3528
        Using sample spec 's16le 2ch 44100Hz', channel map 'front-left,front-right'.
        Connected to device bluez_sink.20_19_D8_36_90_40.a2dp_sink (index: 4, suspended: no).
        Stream started.
        Time: 4.427 sec; Latency: 2042656 usec.
        Copy to clipboard

## 获取接收端列表

要在连接多个设备时获取接收端列表，请在 SSH中运行以下命令：

pactl list sinks short
    Copy to clipboard

**示例输出**

sh-5.1# pactl list sinks short
    0 low-latency0    module-pal-card.c    s16le 2ch 48000Hz    SUSPENDED
    1 deep-buffer0    module-pal-card.c    s16le 2ch 48000Hz    SUSPENDED
    2 offload0        module-pal-card.c    s16le 2ch 48000Hz    SUSPENDED
    3 voip-rx0        module-pal-card.c    s16le 2ch 48000Hz    SUSPENDED
    4 bluez_sink.20_19_D8_36_90_40.a2dp_sink    module-bluez5-device.c    s16le 2ch 44100Hz    SUSPENDED
    Copy to clipboard

## 在特定接收端上播放音频

要在连接多个设备时在特定接收端上播放音频，请在 SSH 中运行以下命令：

paplay <audio_filepath> --device=<device_name> -v
    Copy to clipboard

**参数**

- `<audio_filepath>` 是 WAV 文件的文件路径。
- `<device_name>` 是接收端名称。

**示例**

要在 `bluez_sink.20_19_D8_36_90_40.a2dp_sink` 接收端上播放 `pcmtest.wav`，请运行以下命令：

paplay pcmtest.wav --device=bluez_sink.20_19_D8_36_90_40.a2dp_sink -v
    Copy to clipboard

**示例输出**

sh-5.1# paplay pcmtest.wav --device=bluez_sink.20_19_D8_36_90_40.a2dp_sink -v
    Opening a playback stream with sample specification 's16le 2ch 44100Hz' and channel map 'front-left,front-right'.
    Connection established.
    Stream successfully created.
    Buffer metrics: maxlength=4194304, tlength=352800, prebuf=349276, minreq=3528
    Using sample spec 's16le 2ch 44100Hz', channel map 'front-left,front-right'.
    Connected to device bluez_sink.20_19_D8_36_90_40.a2dp_sink (index: 4, suspended: no).
    Stream started.
    Time: 2.925 sec; Latency: 2062081 usec.
    Copy to clipboard

## 断开远程设备的连接

要断开远程设备的连接，请从 `bluetoothctl` 菜单运行以下命令：

disconnect <bt_address>
    Copy to clipboard

**参数**

`<bt_address>` 是远程设备的蓝牙地址。

**示例**

要断开与 `<bt_address>` `17:1A:35:8D:A2:A4` 配对的远程设备，请运行以下命令：

disconnect 17:1A:35:8D:A2:A4
    Copy to clipboard

**示例输出**

[MySoundbar]# disconnect 17:1A:35:8D:A2:A4
    Attempting to disconnect from 17:1A:35:8D:A2:A4
    [DEL] Transport /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1/fd2
    [DEL] Endpoint /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep1
    [DEL] Endpoint /org/bluez/hci0/dev_17_1A_35_8D_A2_A4/sep2
    [CHG] Device 17:1A:35:8D:A2:A4 ServicesResolved: no
    Successful disconnected
    [CHG] Device 17:1A:35:8D:A2:A4 Connected: no
    Copy to clipboard

Last Published: Jul 22, 2025

[Previous Topic
高级音频分发 Profile (Advanced Audio Distribution Profile)](https://docs.qualcomm.com/bundle/publicresource/80-70020-13SC/topics/bluez-a2dp.md) [Next Topic
执行蓝牙 A2DP 接收端功能](https://docs.qualcomm.com/bundle/publicresource/80-70020-13SC/topics/bluez-perform-bluetooth-a2dp-sink-functions.md)