12 void play(
const Ts &...
x)
override {
13 this->
parent_->make_call().set_command(Command).set_announcement(this->announcement_.value(
x...)).perform();
17template<
typename... Ts>
19template<
typename... Ts>
21template<
typename... Ts>
23template<
typename... Ts>
25template<
typename... Ts>
27template<
typename... Ts>
29template<
typename... Ts>
31template<
typename... Ts>
33template<
typename... Ts>
35template<
typename... Ts>
37template<
typename... Ts>
39template<
typename... Ts>
41template<
typename... Ts>
43template<
typename... Ts>
45template<
typename... Ts>
47template<
typename... Ts>
49template<
typename... Ts>
51template<
typename... Ts>
53template<
typename... Ts>
58 TEMPLATABLE_VALUE(std::string, media_url)
59 TEMPLATABLE_VALUE(
bool, announcement)
60 void play(
const Ts &...
x)
override {
61 auto call = this->
parent_->make_call();
63 call.set_command(Command);
64 call.set_media_url(this->media_url_.value(
x...)).set_announcement(this->announcement_.value(
x...)).perform();
68template<
typename... Ts>
70template<
typename... Ts>
74 TEMPLATABLE_VALUE(
float, volume)
75 void play(
const Ts &...
x)
override { this->
parent_->make_call().set_volume(this->volume_.value(
x...)).perform(); }
95static_assert(
sizeof(StateAnyForwarder) <=
sizeof(
void *));
96static_assert(std::is_trivially_copyable_v<StateAnyForwarder>);
97static_assert(
sizeof(StateEnterForwarder<MediaPlayerState::MEDIA_PLAYER_STATE_IDLE>) <=
sizeof(
void *));
98static_assert(std::is_trivially_copyable_v<StateEnterForwarder<MediaPlayerState::MEDIA_PLAYER_STATE_IDLE>>);
virtual void play(const Ts &...x)=0
void trigger(const Ts &...x) ESPHOME_ALWAYS_INLINE
Base class for all automation conditions.
Helper class to easily give an object a parent of type T.