2023-05-08 00:36:43 +02:00
Speaker Components
==================
.. seo ::
:description: Instructions for setting up speakers in ESPHome.
:image: speaker.svg
The `` speaker `` domain contains common functionality shared across the
speaker platforms.
.. _config-speaker:
Base Speaker Configuration
--------------------------
No configuration variables
.. _speaker-actions:
Speaker Actions
------------------
All `` speaker `` actions can be used without specifying an `` id `` if you have only one `` speaker `` in
your configuration YAML.
.. _speaker-play:
`` speaker.play `` Action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This action will start playing raw audio data from the speaker.
.. code-block :: yaml
on_...:
# Static raw audio data
- speaker.play: [...]
# Templated, return type is std::vector<uint8_t>
- speaker.play: !lambda return {...};
# in case you need to specify the speaker id
- speaker.play:
id: my_speaker
data: [...]
Configuration variables:
2023-06-25 23:40:03 +02:00
- **id** (*Optional* , :ref: `config-id` ): The speaker to control. Defaults to the only one in YAML.
- **data** (**Required** , list of bytes): The raw audio data to play.
2023-05-08 00:36:43 +02:00
.. _speaker-stop:
`` speaker.stop `` Action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This action will stop playing audio data from the speaker and discard the unplayed data.
2023-07-20 00:35:00 +02:00
Configuration variables:
- **id** (*Optional* , :ref: `config-id` ): The speaker to control. Defaults to the only one in YAML.
2024-08-14 05:42:46 +02:00
.. _speaker-finish:
`` speaker.finish `` Action
^^^^^^^^^^^^^^^^^^^^^^^^^
This action will stop playing audio data from the speaker after all data **is** played.
Configuration variables:
- **id** (*Optional* , :ref: `config-id` ): The speaker to control. Defaults to the only one in YAML.
2023-05-08 00:36:43 +02:00
.. _speaker-conditions:
Speaker Conditions
---------------------
All `` speaker `` conditions can be used without specifying an `` id `` if you have only one `` speaker `` in
your configuration YAML.
.. _speaker-is_playing:
`` speaker.is_playing `` Condition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This condition will check if the speaker is currently playing audio data.
2023-07-20 00:35:00 +02:00
Configuration variables:
- **id** (*Optional* , :ref: `config-id` ): The speaker to check. Defaults to the only one in YAML.
2024-08-14 05:42:46 +02:00
.. _speaker-is_stopped:
`` speaker.is_stopped `` Condition
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This condition will check if the speaker is fully stopped audio data and is in idle mode.
.. note:
Between the time `` speaker.is_playing `` is false and `` speaker.is_stopped `` is true the 'speaker' component is closing down structures that where used to play the data correctly. *It better to check if the speaker is stopped then that if it plays.*
Configuration variables:
- **id** (*Optional* , :ref: `config-id` ): The speaker to check. Defaults to the only one in YAML.
2023-05-08 00:36:43 +02:00
Platforms
---------
.. toctree ::
:maxdepth: 1
:glob:
*
See Also
--------
2024-03-28 08:37:40 +01:00
- :doc: `/guides/audio_clips_for_i2s`
- :doc: `/components/speaker/i2s_audio`
2023-05-08 00:36:43 +02:00
- :ghedit: `Edit`