扬声器组件
speaker 域包含各扬声器平台共用的功能。
基础扬声器配置
Section titled “基础扬声器配置”speaker: - platform: ...配置变量:
如果您的配置 YAML 中只有一个 speaker,则可以在不指定 id 的情况下使用所有 speaker 动作。
speaker.play 动作
Section titled “speaker.play 动作”此动作将开始从扬声器播放原始音频数据。
on_...: # 静态原始音频数据 - speaker.play: [...]
# 模板化,返回类型为 `std::vector<uint8_t>` - speaker.play: !lambda return {...};
# 如果需要指定扬声器 id - speaker.play: id: my_speaker data: [...]配置变量:
- id (可选, ID): 要控制的扬声器。默认为 YAML 中唯一的一个。
- data (必需, 字节列表): 要播放的原始音频数据。
speaker.stop 动作
Section titled “speaker.stop 动作”此动作将停止从扬声器播放音频数据并丢弃未播放的数据。
配置变量:
- id (可选, ID): 要控制的扬声器。默认为 YAML 中唯一的一个。
speaker.finish 动作
Section titled “speaker.finish 动作”此动作将在所有数据播放完毕后停止从扬声器播放音频数据。
配置变量:
- id (可选, ID): 要控制的扬声器。默认为 YAML 中唯一的一个。
speaker.mute_on 动作
Section titled “speaker.mute_on 动作”此动作将静音扬声器。
配置变量:
- id (可选, ID): 要控制的扬声器。默认为 YAML 中唯一的一个。
speaker.mute_off 动作
Section titled “speaker.mute_off 动作”此动作将取消静音扬声器。
配置变量:
- id (可选, ID): 要控制的扬声器。默认为 YAML 中唯一的一个。
speaker.volume_set 动作
Section titled “speaker.volume_set 动作”此动作将设置扬声器的音量。
on_...: # 简单形式 - speaker.volume_set: 50%
# 完整形式 - speaker.volume_set: id: speaker_id volume: 50%
# 简单形式带 lambda - speaker.volume_set: !lambda "return 0.5;"配置变量:
volume (必需, 百分比): 要设置的扬声器音量。
如果您的配置 YAML 中只有一个 speaker,则可以在不指定 id 的情况下使用所有 speaker 条件。
speaker.is_playing 条件
Section titled “speaker.is_playing 条件”此条件将检查扬声器当前是否正在播放音频数据。
配置变量:
- id (可选, ID): 要检查的扬声器。默认为 YAML 中唯一的一个。
speaker.is_stopped 条件
Section titled “speaker.is_stopped 条件”此条件将检查扬声器是否已完全停止播放音频数据并处于空闲模式。
.. note:
在 speaker.is_playing 为 false 和 speaker.is_stopped 为 true 之间的时间里,‘speaker’ 组件正在关闭用于正确播放数据的结构。检查扬声器是否停止比检查是否播放更好。
配置变量:
- id (可选, ID): 要检查的扬声器。默认为 YAML 中唯一的一个。