ESPHome
2025.5.2
Toggle main menu visibility
Main Page
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
y
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
a
b
d
e
f
i
j
l
m
n
o
p
q
r
s
t
u
v
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
c
d
o
p
s
t
v
w
Enumerations
b
c
e
f
i
m
n
p
r
s
t
v
w
Enumerator
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Related Symbols
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
l
m
o
p
s
t
u
Variables
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Modules
Pages
Loading...
Searching...
No Matches
esphome
components
media_player
media_player.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/entity_base.h
"
4
#include "
esphome/core/helpers.h
"
5
6
namespace
esphome
{
7
namespace
media_player {
8
9
enum
MediaPlayerState
: uint8_t {
10
MEDIA_PLAYER_STATE_NONE
= 0,
11
MEDIA_PLAYER_STATE_IDLE
= 1,
12
MEDIA_PLAYER_STATE_PLAYING
= 2,
13
MEDIA_PLAYER_STATE_PAUSED
= 3,
14
MEDIA_PLAYER_STATE_ANNOUNCING
= 4
15
};
9
enum
MediaPlayerState
: uint8_t {
…
};
16
const
char
*
media_player_state_to_string
(
MediaPlayerState
state
);
17
18
enum
MediaPlayerCommand
: uint8_t {
19
MEDIA_PLAYER_COMMAND_PLAY
= 0,
20
MEDIA_PLAYER_COMMAND_PAUSE
= 1,
21
MEDIA_PLAYER_COMMAND_STOP
= 2,
22
MEDIA_PLAYER_COMMAND_MUTE
= 3,
23
MEDIA_PLAYER_COMMAND_UNMUTE
= 4,
24
MEDIA_PLAYER_COMMAND_TOGGLE
= 5,
25
MEDIA_PLAYER_COMMAND_VOLUME_UP
= 6,
26
MEDIA_PLAYER_COMMAND_VOLUME_DOWN
= 7,
27
MEDIA_PLAYER_COMMAND_ENQUEUE
= 8,
28
MEDIA_PLAYER_COMMAND_REPEAT_ONE
= 9,
29
MEDIA_PLAYER_COMMAND_REPEAT_OFF
= 10,
30
MEDIA_PLAYER_COMMAND_CLEAR_PLAYLIST
= 11,
31
};
18
enum
MediaPlayerCommand
: uint8_t {
…
};
32
const
char
*
media_player_command_to_string
(
MediaPlayerCommand
command);
33
34
enum class
MediaPlayerFormatPurpose
: uint8_t {
35
PURPOSE_DEFAULT
= 0,
36
PURPOSE_ANNOUNCEMENT
= 1,
37
};
34
enum class
MediaPlayerFormatPurpose
: uint8_t {
…
};
38
39
struct
MediaPlayerSupportedFormat
{
40
std::string
format
;
41
uint32_t
sample_rate
;
42
uint32_t
num_channels
;
43
MediaPlayerFormatPurpose
purpose
;
44
uint32_t
sample_bytes
;
45
};
39
struct
MediaPlayerSupportedFormat
{
…
};
46
47
class
MediaPlayer
;
48
49
class
MediaPlayerTraits
{
50
public
:
51
MediaPlayerTraits
() =
default
;
52
53
void
set_supports_pause
(
bool
supports_pause) { this->
supports_pause_
= supports_pause; }
54
55
bool
get_supports_pause
()
const
{
return
this->
supports_pause_
; }
56
57
std::vector<MediaPlayerSupportedFormat> &
get_supported_formats
() {
return
this->
supported_formats_
; }
58
59
protected
:
60
bool
supports_pause_
{
false
};
61
std::vector<MediaPlayerSupportedFormat>
supported_formats_
{};
62
};
49
class
MediaPlayerTraits
{
…
};
63
64
class
MediaPlayerCall
{
65
public
:
66
MediaPlayerCall
(
MediaPlayer
*parent) :
parent_
(parent) {}
67
68
MediaPlayerCall
&
set_command
(
MediaPlayerCommand
command);
69
MediaPlayerCall
&
set_command
(
optional<MediaPlayerCommand>
command);
70
MediaPlayerCall
&
set_command
(
const
std::string &command);
71
72
MediaPlayerCall
&
set_media_url
(
const
std::string &url);
73
74
MediaPlayerCall
&
set_volume
(
float
volume);
75
MediaPlayerCall
&
set_announcement
(
bool
announce);
76
77
void
perform
();
78
79
const
optional<MediaPlayerCommand>
&
get_command
()
const
{
return
this->
command_
; }
80
const
optional<std::string>
&
get_media_url
()
const
{
return
this->
media_url_
; }
81
const
optional<float>
&
get_volume
()
const
{
return
this->
volume_
; }
82
const
optional<bool>
&
get_announcement
()
const
{
return
this->
announcement_
; }
83
84
protected
:
85
void
validate_
();
86
MediaPlayer
*
const
parent_
;
87
optional<MediaPlayerCommand>
command_
;
88
optional<std::string>
media_url_
;
89
optional<float>
volume_
;
90
optional<bool>
announcement_
;
91
};
64
class
MediaPlayerCall
{
…
};
92
93
class
MediaPlayer
:
public
EntityBase
{
94
public
:
95
MediaPlayerState
state
{
MEDIA_PLAYER_STATE_NONE
};
96
float
volume
{1.0f};
97
98
MediaPlayerCall
make_call
() {
return
MediaPlayerCall
(
this
); }
99
100
void
publish_state
();
101
102
void
add_on_state_callback
(std::function<
void
()> &&callback);
103
104
virtual
bool
is_muted
()
const
{
return
false
; }
105
106
virtual
MediaPlayerTraits
get_traits
() = 0;
107
108
protected
:
109
friend
MediaPlayerCall
;
110
111
virtual
void
control
(
const
MediaPlayerCall
&call) = 0;
112
113
CallbackManager
<void()>
state_callback_
{};
114
};
93
class
MediaPlayer
:
public
EntityBase
{
…
};
115
116
}
// namespace media_player
117
}
// namespace esphome
esphome::CallbackManager
Definition
helpers.h:492
esphome::EntityBase
Definition
entity_base.h:16
esphome::media_player::MediaPlayerCall
Definition
media_player.h:64
esphome::media_player::MediaPlayerCall::get_announcement
const optional< bool > & get_announcement() const
Definition
media_player.h:82
esphome::media_player::MediaPlayerCall::set_media_url
MediaPlayerCall & set_media_url(const std::string &url)
Definition
media_player.cpp:119
esphome::media_player::MediaPlayerCall::validate_
void validate_()
Definition
media_player.cpp:57
esphome::media_player::MediaPlayerCall::set_volume
MediaPlayerCall & set_volume(float volume)
Definition
media_player.cpp:124
esphome::media_player::MediaPlayerCall::get_media_url
const optional< std::string > & get_media_url() const
Definition
media_player.h:80
esphome::media_player::MediaPlayerCall::get_command
const optional< MediaPlayerCommand > & get_command() const
Definition
media_player.h:79
esphome::media_player::MediaPlayerCall::announcement_
optional< bool > announcement_
Definition
media_player.h:90
esphome::media_player::MediaPlayerCall::perform
void perform()
Definition
media_player.cpp:73
esphome::media_player::MediaPlayerCall::volume_
optional< float > volume_
Definition
media_player.h:89
esphome::media_player::MediaPlayerCall::get_volume
const optional< float > & get_volume() const
Definition
media_player.h:81
esphome::media_player::MediaPlayerCall::MediaPlayerCall
MediaPlayerCall(MediaPlayer *parent)
Definition
media_player.h:66
esphome::media_player::MediaPlayerCall::media_url_
optional< std::string > media_url_
Definition
media_player.h:88
esphome::media_player::MediaPlayerCall::parent_
MediaPlayer *const parent_
Definition
media_player.h:86
esphome::media_player::MediaPlayerCall::set_announcement
MediaPlayerCall & set_announcement(bool announce)
Definition
media_player.cpp:129
esphome::media_player::MediaPlayerCall::set_command
MediaPlayerCall & set_command(MediaPlayerCommand command)
Definition
media_player.cpp:92
esphome::media_player::MediaPlayerCall::command_
optional< MediaPlayerCommand > command_
Definition
media_player.h:87
esphome::media_player::MediaPlayer
Definition
media_player.h:93
esphome::media_player::MediaPlayer::control
virtual void control(const MediaPlayerCall &call)=0
esphome::media_player::MediaPlayer::state
MediaPlayerState state
Definition
media_player.h:95
esphome::media_player::MediaPlayer::MediaPlayerCall
friend MediaPlayerCall
Definition
media_player.h:109
esphome::media_player::MediaPlayer::state_callback_
CallbackManager< void()> state_callback_
Definition
media_player.h:113
esphome::media_player::MediaPlayer::publish_state
void publish_state()
Definition
media_player.cpp:138
esphome::media_player::MediaPlayer::get_traits
virtual MediaPlayerTraits get_traits()=0
esphome::media_player::MediaPlayer::add_on_state_callback
void add_on_state_callback(std::function< void()> &&callback)
Definition
media_player.cpp:134
esphome::media_player::MediaPlayer::volume
float volume
Definition
media_player.h:96
esphome::media_player::MediaPlayer::make_call
MediaPlayerCall make_call()
Definition
media_player.h:98
esphome::media_player::MediaPlayer::is_muted
virtual bool is_muted() const
Definition
media_player.h:104
esphome::media_player::MediaPlayerTraits
Definition
media_player.h:49
esphome::media_player::MediaPlayerTraits::MediaPlayerTraits
MediaPlayerTraits()=default
esphome::media_player::MediaPlayerTraits::get_supports_pause
bool get_supports_pause() const
Definition
media_player.h:55
esphome::media_player::MediaPlayerTraits::supported_formats_
std::vector< MediaPlayerSupportedFormat > supported_formats_
Definition
media_player.h:61
esphome::media_player::MediaPlayerTraits::get_supported_formats
std::vector< MediaPlayerSupportedFormat > & get_supported_formats()
Definition
media_player.h:57
esphome::media_player::MediaPlayerTraits::set_supports_pause
void set_supports_pause(bool supports_pause)
Definition
media_player.h:53
esphome::media_player::MediaPlayerTraits::supports_pause_
bool supports_pause_
Definition
media_player.h:60
esphome::optional
Definition
optional.h:36
entity_base.h
state
bool state
Definition
fan.h:0
helpers.h
esphome::media_player::MediaPlayerFormatPurpose
MediaPlayerFormatPurpose
Definition
media_player.h:34
esphome::media_player::MediaPlayerFormatPurpose::PURPOSE_ANNOUNCEMENT
@ PURPOSE_ANNOUNCEMENT
esphome::media_player::MediaPlayerFormatPurpose::PURPOSE_DEFAULT
@ PURPOSE_DEFAULT
esphome::media_player::media_player_command_to_string
const char * media_player_command_to_string(MediaPlayerCommand command)
Definition
media_player.cpp:26
esphome::media_player::media_player_state_to_string
const char * media_player_state_to_string(MediaPlayerState state)
Definition
media_player.cpp:10
esphome::media_player::MediaPlayerState
MediaPlayerState
Definition
media_player.h:9
esphome::media_player::MEDIA_PLAYER_STATE_IDLE
@ MEDIA_PLAYER_STATE_IDLE
Definition
media_player.h:11
esphome::media_player::MEDIA_PLAYER_STATE_PLAYING
@ MEDIA_PLAYER_STATE_PLAYING
Definition
media_player.h:12
esphome::media_player::MEDIA_PLAYER_STATE_PAUSED
@ MEDIA_PLAYER_STATE_PAUSED
Definition
media_player.h:13
esphome::media_player::MEDIA_PLAYER_STATE_NONE
@ MEDIA_PLAYER_STATE_NONE
Definition
media_player.h:10
esphome::media_player::MEDIA_PLAYER_STATE_ANNOUNCING
@ MEDIA_PLAYER_STATE_ANNOUNCING
Definition
media_player.h:14
esphome::media_player::MediaPlayerCommand
MediaPlayerCommand
Definition
media_player.h:18
esphome::media_player::MEDIA_PLAYER_COMMAND_PAUSE
@ MEDIA_PLAYER_COMMAND_PAUSE
Definition
media_player.h:20
esphome::media_player::MEDIA_PLAYER_COMMAND_ENQUEUE
@ MEDIA_PLAYER_COMMAND_ENQUEUE
Definition
media_player.h:27
esphome::media_player::MEDIA_PLAYER_COMMAND_CLEAR_PLAYLIST
@ MEDIA_PLAYER_COMMAND_CLEAR_PLAYLIST
Definition
media_player.h:30
esphome::media_player::MEDIA_PLAYER_COMMAND_PLAY
@ MEDIA_PLAYER_COMMAND_PLAY
Definition
media_player.h:19
esphome::media_player::MEDIA_PLAYER_COMMAND_STOP
@ MEDIA_PLAYER_COMMAND_STOP
Definition
media_player.h:21
esphome::media_player::MEDIA_PLAYER_COMMAND_TOGGLE
@ MEDIA_PLAYER_COMMAND_TOGGLE
Definition
media_player.h:24
esphome::media_player::MEDIA_PLAYER_COMMAND_VOLUME_UP
@ MEDIA_PLAYER_COMMAND_VOLUME_UP
Definition
media_player.h:25
esphome::media_player::MEDIA_PLAYER_COMMAND_VOLUME_DOWN
@ MEDIA_PLAYER_COMMAND_VOLUME_DOWN
Definition
media_player.h:26
esphome::media_player::MEDIA_PLAYER_COMMAND_REPEAT_OFF
@ MEDIA_PLAYER_COMMAND_REPEAT_OFF
Definition
media_player.h:29
esphome::media_player::MEDIA_PLAYER_COMMAND_MUTE
@ MEDIA_PLAYER_COMMAND_MUTE
Definition
media_player.h:22
esphome::media_player::MEDIA_PLAYER_COMMAND_UNMUTE
@ MEDIA_PLAYER_COMMAND_UNMUTE
Definition
media_player.h:23
esphome::media_player::MEDIA_PLAYER_COMMAND_REPEAT_ONE
@ MEDIA_PLAYER_COMMAND_REPEAT_ONE
Definition
media_player.h:28
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
esphome::media_player::MediaPlayerSupportedFormat
Definition
media_player.h:39
esphome::media_player::MediaPlayerSupportedFormat::num_channels
uint32_t num_channels
Definition
media_player.h:42
esphome::media_player::MediaPlayerSupportedFormat::sample_rate
uint32_t sample_rate
Definition
media_player.h:41
esphome::media_player::MediaPlayerSupportedFormat::format
std::string format
Definition
media_player.h:40
esphome::media_player::MediaPlayerSupportedFormat::purpose
MediaPlayerFormatPurpose purpose
Definition
media_player.h:43
esphome::media_player::MediaPlayerSupportedFormat::sample_bytes
uint32_t sample_bytes
Definition
media_player.h:44
Generated by
1.12.0