扬声器组件 (Speaker Components)
speaker 域包含所有
speaker 平台共用的通用功能。
基础 Speaker 配置
Section titled “基础 Speaker 配置”speaker: - platform: ...配置变量:
Speaker 动作
Section titled “Speaker 动作”如果您的配置 YAML 中只有一个 speaker,则所有 speaker 动作都可以在不指定 id 的情况下使用。
speaker.play 动作
Section titled “speaker.play 动作”此动作将从扬声器开始播放原始音频数据。
on_...: # 静态原始音频数据 - speaker.play: [...]
# 可模板化,返回类型为 `std::vector<uint8_t>` - speaker.play: !lambda return {...};
# 如果需要指定扬声器 ID - speaker.play: id: my_speaker 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 (必填, percentage): 要将扬声器设置的音量。
Speaker 条件
Section titled “Speaker 条件”如果您的配置 YAML 中只有一个 speaker,则所有 speaker 条件都可以在不指定 id 的情况下使用。
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 中唯一的一个。