ESPHome
2025.9.0-dev
Loading...
Searching...
No Matches
esphome
components
microphone
microphone.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/components/audio/audio.h
"
4
5
#include <cstddef>
6
#include <cstdint>
7
#include <functional>
8
#include <vector>
9
#include "
esphome/core/helpers.h
"
10
11
namespace
esphome
{
12
namespace
microphone {
13
14
enum
State
: uint8_t {
15
STATE_STOPPED
= 0,
16
STATE_STARTING
,
17
STATE_RUNNING
,
18
STATE_STOPPING
,
19
};
20
21
class
Microphone
{
22
public
:
23
virtual
void
start
() = 0;
24
virtual
void
stop
() = 0;
25
void
add_data_callback
(std::function<
void
(
const
std::vector<uint8_t> &)> &&data_callback);
26
27
bool
is_running
()
const
{
return
this->
state_
==
STATE_RUNNING
; }
28
bool
is_stopped
()
const
{
return
this->
state_
==
STATE_STOPPED
; }
29
30
void
set_mute_state
(
bool
is_muted) { this->
mute_state_
= is_muted; }
31
bool
get_mute_state
() {
return
this->
mute_state_
; }
32
33
audio::AudioStreamInfo
get_audio_stream_info
() {
return
this->
audio_stream_info_
; }
34
35
protected
:
36
State
state_
{
STATE_STOPPED
};
37
bool
mute_state_
{
false
};
38
39
audio::AudioStreamInfo
audio_stream_info_
;
40
41
CallbackManager
<void(
const
std::vector<uint8_t> &)>
data_callbacks_
{};
42
};
43
44
}
// namespace microphone
45
}
// namespace esphome
audio.h
esphome::CallbackManager
Definition
helpers.h:602
esphome::audio::AudioStreamInfo
Definition
audio.h:11
esphome::microphone::Microphone
Definition
microphone.h:21
esphome::microphone::Microphone::get_mute_state
bool get_mute_state()
Definition
microphone.h:31
esphome::microphone::Microphone::start
virtual void start()=0
esphome::microphone::Microphone::get_audio_stream_info
audio::AudioStreamInfo get_audio_stream_info()
Definition
microphone.h:33
esphome::microphone::Microphone::state_
State state_
Definition
microphone.h:36
esphome::microphone::Microphone::stop
virtual void stop()=0
esphome::microphone::Microphone::set_mute_state
void set_mute_state(bool is_muted)
Definition
microphone.h:30
esphome::microphone::Microphone::mute_state_
bool mute_state_
Definition
microphone.h:37
esphome::microphone::Microphone::audio_stream_info_
audio::AudioStreamInfo audio_stream_info_
Definition
microphone.h:39
esphome::microphone::Microphone::is_stopped
bool is_stopped() const
Definition
microphone.h:28
esphome::microphone::Microphone::data_callbacks_
CallbackManager< void(const std::vector< uint8_t > &)> data_callbacks_
Definition
microphone.h:41
esphome::microphone::Microphone::is_running
bool is_running() const
Definition
microphone.h:27
esphome::microphone::Microphone::add_data_callback
void add_data_callback(std::function< void(const std::vector< uint8_t > &)> &&data_callback)
Definition
microphone.cpp:6
helpers.h
esphome::microphone::State
State
Definition
microphone.h:14
esphome::microphone::STATE_STOPPED
@ STATE_STOPPED
Definition
microphone.h:15
esphome::microphone::STATE_RUNNING
@ STATE_RUNNING
Definition
microphone.h:17
esphome::microphone::STATE_STOPPING
@ STATE_STOPPING
Definition
microphone.h:18
esphome::microphone::STATE_STARTING
@ STATE_STARTING
Definition
microphone.h:16
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
Generated by
1.12.0