> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 启用音频

> 在 Qualcomm Linux 平台上配置音频硬件并验证基本的播放和捕获用例。

本节介绍如何为麦克风和扬声器连接配置硬件，并提供验证基本音频用例的步骤。

## **硬件设置**

<Tabs>
  <Tab title="QCS6490">
    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/getting-started-flow.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    **前提条件**

    * 按照 [Qualcomm Linux 构建指南](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/obtain-prebuilts) 中的说明设置基础设施
    * 将最新的软件版本刷写到开发板。
    * 设置 SSH 连接：
      1. 以宽容模式启用 SSH。有关说明，请参阅 [使用 SSH](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/how-to-sign-in-with-ssh)。
      2. 通过运行以下命令连接到设备：
         ```text theme={null}
         ssh root@<device_IP_address>
         ```
         例如，如果设备 IP 地址为 10.92.160.222，请运行以下命令：
         ```text theme={null}
         ssh root@10.92.160.222
         ```

    **设置音频硬件**

    1. 要激活板上的数字麦克风接口 (DMIC)，请将 DIP 开关 PIN 2 拨到 ON 位置。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/dip_pin2_on.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    2. 按如下方式将扬声器连接到板。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/connect_speakers_6490.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>
  </Tab>

  <Tab title="IQ-9075">
    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/getting-started-flow.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    **前提条件**

    * 按照 [Qualcomm Linux 构建指南](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/obtain-prebuilts) 中的说明设置基础设施
    * 将最新的软件版本刷写到开发板。
    * 设置 SSH 连接：
      1. 以宽容模式启用 SSH。有关说明，请参阅 [使用 SSH](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/how-to-sign-in-with-ssh)
      2. 通过运行以下命令连接到设备：
         ```text theme={null}
         ssh root@<device_IP_address>
         ```
         例如，如果设备 IP 地址为 10.92.160.222，请运行以下命令：
         ```text theme={null}
         ssh root@10.92.160.222
         ```

    **设置音频硬件**

    按如下方式将扬声器连接到板。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/connect-speakers-9075.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    <Note>
      EVT 板需要进行硬件返工才能使音频功能正常工作。
    </Note>
  </Tab>

  <Tab title="IQ-8275">
    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/getting-started-flow.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    **前提条件**

    * 按照 [Qualcomm Linux 构建指南](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/obtain-prebuilts) 中的说明设置基础设施
    * 将最新的软件版本刷写到开发板。
    * 设置 SSH 连接。
      1. 以宽容模式启用 SSH。有关说明，请参阅 [使用 SSH](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/how-to-sign-in-with-ssh)
      2. 通过运行以下命令连接到设备：
         ```text theme={null}
         ssh root@<device_IP_address>
         ```
         例如，如果设备 IP 地址为 10.92.160.222，请运行以下命令：
         ```text theme={null}
         ssh root@10.92.160.222
         ```

    **设置音频硬件**

    按如下方式将扬声器连接到板。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/playback_connection.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    \\
  </Tab>

  <Tab title="QCS615">
    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/getting-started-flow.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    **前提条件**

    * 按照 [Qualcomm Linux 构建指南](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/obtain-prebuilts) 中的说明设置基础设施
    * 将最新的软件版本刷写到开发板。
    * 设置 SSH 连接：
      1. 以宽容模式启用 SSH。有关说明，请参阅 [使用 SSH](https://dragonwingdocs.qualcomm.com/Key-Documents/Flash-Guide/how-to-sign-in-with-ssh)。
      2. 通过运行以下命令连接到设备：
         ```text theme={null}
         ssh root@<device_IP_address>
         ```
         例如，如果设备 IP 地址为 10.92.160.222，请运行以下命令：
         ```text theme={null}
         ssh root@10.92.160.222
         ```

    **设置音频硬件**

    1. 按如下方式将音频硬件连接到板。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/615-hw-connections.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    2. 按如下方式将 3.5 毫米耳机连接到板。

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/615-headset-connection.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>

    3. 按如下方式连接 WiFi。确保：
       * SW 12 设置为 OFF
       * SW 14 设置为 ON

    <div className="flex flex-col items-center gap-2">
      <img src="https://mintlify.s3.us-west-1.amazonaws.com/qualcomm-staging/zh/Technologies/Audio/media/qualcomm-linux-iot-audio-voice/615-wifi-setup.svg" alt="Setup Flow" />

      <p className="text-sm text-gray-700">
        设置流程
      </p>
    </div>
  </Tab>
</Tabs>

## **使用 GStreamer 启用音频**

要使用 GStreamer 应用解码音频，请参阅以下内容。

* [音频解码示例](https://imsdkdocs.qualcomm.com/)

要使用 GStreamer 应用编码音频，请使用以下说明。

* 设置 PipeWire 的默认输入设备。
  使用 `wpctl status` 命令列出可用节点。运行 `wpctl set-default` 将源节点设置为手持麦克风。
  ```text theme={null}
  systemctl stop pipewire wireplumber pipewire.socket pipewire-manager.socket
  ```
  ```text theme={null}
  chmod 777 /dev/dma_heap/system
  ```
  ```text theme={null}
  systemctl start pipewire wireplumber
  ```
  ```text theme={null}
  wpctl status
  ```
  ```text theme={null}
  wpctl set-default <sink/source node ID>
  ```
* [音频编码示例](https://imsdkdocs.qualcomm.com/)

<Note>
  要检查用于不同芯片组的 GStreamer 应用，请参阅 [多媒体示例应用的源信息](https://imsdkdocs.qualcomm.com/)。
</Note>

GStreamer 是一个开源多媒体框架。Qualcomm 提供 GStreamer 插件作为 Qualcomm IM SDK 的一部分。

### **GStreamer 插件**

* 用于音频解码器和编码器的 GStreamer 插件是 Qualcomm IM SDK 的一部分。下载整个 Qualcomm IM SDK 以使用 [pulsesrc](https://imsdkdocs.qualcomm.com/) 和 [pulsesink](https://imsdkdocs.qualcomm.com/)。
* [Qualcomm IM SDK 快速入门指南](https://imsdkdocs.qualcomm.com/) 描述了如何下载和构建 Qualcomm IM SDK。

### **GStreamer 示例应用**

用于音频用例的 [GStreamer 示例应用](https://imsdkdocs.qualcomm.com/) 是 Qualcomm IM SDK 的一部分。在运行示例应用之前，请满足这些[前提条件](https://imsdkdocs.qualcomm.com/)。

使用命令行或 GST 应用运行音频用例。

#### **使用 GStreamer 应用播放和录制音频**

使用[音频播放/捕获](https://imsdkdocs.qualcomm.com/)中提到的参考 GST 命令。

## **使用 PipeWire 启用音频**

PipeWire 是一个基于图的处理框架，用于处理多媒体数据。在 `build-qcom-wayland/workspace/sources/pipewire` 中查找 PipeWire 的源代码。

有关更多信息，请参阅 [PipeWire 开源文档](https://docs.pipewire.org/page_api.html) 以获取详细的可用 API。

<Note>
  本指南中的 `pw-play` 和 `pw-record` 实用程序演示了 .wav 文件用法。作为一种框架，PipeWire 支持其他格式，具体取决于可用的编解码器和插件。
</Note>

### **PipeWire 录制**

1. 设置 PipeWire 录制：
   使用 `wpctl status` 命令列出可用节点。运行 `wpctl set-default` 将源节点设置为手持麦克风。
   ```text theme={null}
   wpctl status
   ```
   ```text theme={null}
   wpctl set-default <sink/source node ID>
   ```
   ```text theme={null}
   pw-record /tmp/record.wav -v
   ```

<Note>
  如需 pw-record 的其他命令行选项，请使用 `--help` 标志。
</Note>

2. 按 **Ctrl + C** 停止录制。
   支持的格式为 s16le、s24le、s32le，速率可以是 8000、16000、22050、24000、32000、44100、48000、88200、96000、176400、192000、352800、384000、705600 和 768000，通道数从 1 到 8。

### **录制的音量设置**

1. 使用 `pw-record` 实用程序开始音频捕获。
2. 并行打开一个新的命令提示符。打开 `ssh root@ip-addr` 并运行以下命令来设置音量级别：
   ```text theme={null}
   wpctl set-volume @DEFAULT_AUDIO_SOURCE@ 0.8
   ```
   在上面的命令中，值 0.8 表示 80% 音量。根据所需的音量级别调整此值。

### **PipeWire 播放**

1. 将 .wav 音频文件推送到设备以进行播放：
   ```text theme={null}
   scp test.wav root@[ip-addr]:/opt/
   ```
2. 推送 test.wav 文件后，使用 `ssh root@ip-addr` 进入设备 shell。
3. 使用下面的命令设置播放的默认接收端模式，并在两种接收端模式之间选择：一种用于低延迟 (LL)，另一种用于深度缓冲 (DB)。
   ```text theme={null}
   wpctl status
   ```
   ```text theme={null}
   wpctl set-default <sink/source node ID>
   ```
4. 使用以下命令开始播放：
   ```text theme={null}
   pw-play /opt/test.wav -v
   ```
   命令 shell 应类似于以下内容：

### **播放的音量设置**

1. 使用 `pw-play` 实用程序在扬声器上开始音频播放。
2. 并行打开一个新的命令提示符。打开 `ssh root@ip-addr` 并运行以下命令来设置音量级别：
   ```text theme={null}
   wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.8
   ```
   在上面的命令中，值 0.8 表示 80% 音量。根据所需的音量级别调整此值。

## **后续步骤**

* [自定义音频图](customize-audio-graph) — 在 PAL 级别自定义音频用例
* [高级音频功能](advanced-audio-features) — 启用回声消除、噪声抑制和多设备播放
* [Audio Addendum](https://dragonwingdocs.qualcomm.com/Addendum-docs/Audio/audio-addendum-overview) — 使用 QACT 和 QXDM 进行校准和诊断
* [故障排除音频](troubleshoot-audio) — 捕获并分析音频日志以解决问题
