跳转到内容

麦克风组件

microphone 域包含各麦克风平台共用的功能。

配置变量:

  • on_data (可选, 自动化): 当接收到新数据时执行的自动化。

麦克风源配置被组件使用,以确保以所需格式接收音频。

配置变量:

  • microphone (必需, ID): 用于输入的麦克风

  • bits_per_sample (可选, 整数): 用作组件输入的每采样位数。 可能被组件限制为特定值。

  • channels (可选, 列表): 启用的 0 索引通道号列表,用作组件输入。总数可能受组件限制。默认为 0,即麦克风读取的第一个通道。

  • gain_factor (可选, 整数): 应用于从麦克风读取的音频的增益因子。范围从 1 到 64。默认为 1,无增益。

如果您的配置 YAML 中只有一个 microphone,则可以在不指定 id 的情况下使用所有 microphone 动作。

配置变量:

id (可选, ID): 要控制的麦克风。默认为 YAML 中唯一的一个。

此动作将开始从麦克风捕获音频数据。数据将传递给任何监听的组件,并可在 on_data 触发器中使用。

此动作将停止从麦克风捕获音频数据。

此动作将在将麦克风的音频数据传递给任何监听组件之前对其应用软件静音。

此动作将禁用通过 microphone.mute 启动的软件静音。

当从麦克风接收到新数据时,此触发器将被触发。 数据作为 std::vector<uint8_t> 在变量 x 中可用。 此数据是原始麦克风音频,包括所有读取的每采样位数和通道。

microphone:
- platform: ...
on_data:
- logger.log:
format: "接收到 %d 字节"
args: ['x.size()']

配置变量:

  • id (可选, ID): 要检查的麦克风。默认为 YAML 中唯一的一个。

如果您的配置 YAML 中只有一个 microphone,则可以在不指定 id 的情况下使用所有 microphone 条件。

配置变量:

id (可选, ID): 要检查的麦克风。默认为 YAML 中唯一的一个。

此条件将检查麦克风当前是否正在捕获音频数据。

此条件将检查麦克风当前是否应用了软件静音。