Skip to main content
  • QRB ROS Audio Service:一个 ROS 节点,创建服务服务器,响应应用的请求,并将其转换为对 Audio Manager 的操作。
  • QRB ROS Audio Common:一个 ROS 节点,作为 QRB ROS Audio Service 和 QRB Audio Common Lib 之间的桥梁。
  • QRB Audio Manager:根据流配置执行由 Audio Service 提供的音频操作。
  • QRB Audio Common Lib:通过调用 PulseAudio API 提供音频功能。

管道流程

下图展示了 qrb_ros_audio_service 的管道流程。
Application client calling the audio service, which drives the audio common node, audio manager, and common library over the mic and speaker hardware.

qrb_ros_audio_service 管道。

qrb_ros_audio_service API

下表列出了 qrb_ros_audio_service 提供的 ROS 接口。

qrb_ros_audio_common API

qrb_ros_audio_common 包公开了 ROS 参数、ROS 接口以及 qrb_audio_common_lib API。使用它们设置播放和捕获流,并从你自己的节点控制它们。

ROS 参数

下表列出了 qrb_ros_audio_common 的 ROS 参数,包括每个参数的类型、说明和默认值。

ROS 接口

下表列出了 qrb_ros_audio_common 的 ROS 接口,包括每个接口的名称、类型和用途。

qrb_audio_common_lib API

下表列出了 qrb_audio_common_lib API,包括每个函数的参数和行为。

前提条件

你已根据安装 QIR SDK完成设备设置,并在设备上安装了 ROS2 Jazzy 和 Qualcomm Intelligent Robotics (QIR) SDK。

开箱即用运行 qrb_ros_audio_service

1

安装 qrb_ros_audio_service 包

Install the packages
2

启动 qrb_ros_audio_service 节点

a. 终端 1:Audio common 包
b. 终端 2:Audio service
3

将音乐文件推送到设备路径

将音乐文件推送到设备路径,例如 /tmp/xxx.wav。
4

播放音乐

a. 获取用于音乐录制和播放的 audio_service_test.py 脚本。
b. 选择以下操作之一来测试音频服务。
  • 分步播放(通过扬声器输出声音)。
  • 分步录制(从麦克风录制声音输入并保存到文件)。
  • 流式播放。
  • 流式录制。
    如果你同时启动流式播放和流式录制,声音将从麦克风回环到扬声器。

从源码构建

1

安装依赖

Install the dependencies
2

下载源码并使用 colcon 构建

Build the packages
3

运行和调试

Run the test script