Microphone Components
microphone 域包含麦克风平台共享的通用功能。
基础麦克风配置
Section titled “基础麦克风配置”配置变量:
- on_data(可选,Automation):收到新数据时执行的自动化。
麦克风源配置
Section titled “麦克风源配置”麦克风源配置用于确保组件以所需格式接收音频。
配置变量:
- microphone(必需,ID):用作输入的麦克风。
- bits_per_sample(可选,int):用作组件输入的每样本位数。可能会被组件限制为特定值。
- channels(可选,list):启用作为组件输入的 0 索引通道号列表。总数可能会被组件限制。默认为 0,即麦克风读取的第一个通道。
- gain_factor(可选,int):应用于从麦克风读取音频的增益因子。范围为 1 到 64。默认为 1,无增益。
如果配置 YAML 中只有一个 microphone,则所有 microphone 操作均可在不指定 id 的情况下使用。
配置变量:
id(可选,ID):要控制的麦克风。默认为 YAML 中唯一的麦克风。
microphone.capture 操作
Section titled “microphone.capture 操作”此操作将开始从麦克风捕获音频数据。数据将被传递给任何正在监听的组件,并可在 on_data 触发器中获取。
microphone.stop_capture 操作
Section titled “microphone.stop_capture 操作”此操作将停止从麦克风捕获音频数据。
microphone.mute 操作
Section titled “microphone.mute 操作”此操作将在将麦克风音频数据传递给任何监听组件之前应用软件静音。
microphone.unmute 操作
Section titled “microphone.unmute 操作”此操作将禁用由 microphone.mute 发起的软件静音。
麦克风触发器
Section titled “麦克风触发器”microphone.on_data 触发器
Section titled “microphone.on_data 触发器”当从麦克风收到新数据时,此触发器将触发。
数据作为 std::vector<uint8_t> 在变量 x 中可用。
此数据是原始麦克风音频,包含所有读取的每样本位数和通道数。
microphone: - platform: ... on_data: - logger.log: format: "Received %d bytes" args: ['x.size()']配置变量:
- id(可选,ID):要检查的麦克风。默认为 YAML 中唯一的麦克风。
如果配置 YAML 中只有一个 microphone,则所有 microphone 条件均可在不指定 id 的情况下使用。
配置变量:
id(可选,ID):要检查的麦克风。默认为 YAML 中唯一的麦克风。
microphone.is_capturing 条件
Section titled “microphone.is_capturing 条件”此条件将检查麦克风当前是否正在捕获音频数据。
microphone.is_muted 条件
Section titled “microphone.is_muted 条件”此条件将检查麦克风当前是否正在应用软件静音。