9static const char *
const TAG =
"media_player";
57 return "CLEAR_PLAYLIST";
88 if (supports_turn_off_on) {
99 ESP_LOGW(TAG,
"MediaPlayerCall: Setting both command and media_url is not needed.");
103 if (this->
volume_.has_value()) {
104 if (this->
volume_.value() < 0.0f || this->volume_.value() > 1.0f) {
105 ESP_LOGW(TAG,
"MediaPlayerCall: Volume must be between 0.0 and 1.0.");
116 ESP_LOGV(TAG,
" Command: %s", command_s);
119 ESP_LOGV(TAG,
" Media URL: %s", this->
media_url_.value().c_str());
121 if (this->
volume_.has_value()) {
122 ESP_LOGV(TAG,
" Volume: %.2f", this->
volume_.value());
125 ESP_LOGV(TAG,
" Announcement: %s", this->
announcement_.value() ?
"yes" :
"no");
139 if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"PLAY")) == 0) {
141 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"PAUSE")) == 0) {
143 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"STOP")) == 0) {
145 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"MUTE")) == 0) {
147 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"UNMUTE")) == 0) {
149 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"TOGGLE")) == 0) {
151 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"TURN_ON")) == 0) {
153 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"TURN_OFF")) == 0) {
155 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"VOLUME_UP")) == 0) {
157 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"VOLUME_DOWN")) == 0) {
159 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"ENQUEUE")) == 0) {
161 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"REPEAT_ONE")) == 0) {
163 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"REPEAT_OFF")) == 0) {
165 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"REPEAT_ALL")) == 0) {
167 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"CLEAR_PLAYLIST")) == 0) {
169 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"NEXT")) == 0) {
171 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"PREVIOUS")) == 0) {
173 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"SHUFFLE")) == 0) {
175 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"UNSHUFFLE")) == 0) {
177 }
else if (ESPHOME_strcasecmp_P(command, ESPHOME_PSTR(
"GROUP_JOIN")) == 0) {
202#if defined(USE_MEDIA_PLAYER) && defined(USE_CONTROLLER_REGISTRY)
203 ControllerRegistry::notify_media_player_update(
this);
const StringRef & get_name() const
constexpr const char * c_str() const