ESPHome 2025.5.0
Loading...
Searching...
No Matches
microphone.h
Go to the documentation of this file.
1#pragma once
2
4
5#include <cstddef>
6#include <cstdint>
7#include <functional>
8#include <vector>
10
11namespace esphome {
12namespace microphone {
13
20
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
34
35 protected:
36 std::vector<uint8_t> silence_audio_(std::vector<uint8_t> data);
37
39 bool mute_state_{false};
40
42
43 CallbackManager<void(const std::vector<uint8_t> &)> data_callbacks_{};
44};
45
46} // namespace microphone
47} // namespace esphome
audio::AudioStreamInfo get_audio_stream_info()
Definition microphone.h:33
void set_mute_state(bool is_muted)
Definition microphone.h:30
audio::AudioStreamInfo audio_stream_info_
Definition microphone.h:41
CallbackManager< void(const std::vector< uint8_t > &)> data_callbacks_
Definition microphone.h:43
std::vector< uint8_t > silence_audio_(std::vector< uint8_t > data)
void add_data_callback(std::function< void(const std::vector< uint8_t > &)> &&data_callback)
Definition microphone.cpp:6
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7