#include "microphone.h" namespace esphome { namespace microphone { void Microphone::add_data_callback(std::function &)> &&data_callback) { std::function &)> mute_handled_callback = [this, data_callback](const std::vector &data) { data_callback(this->silence_audio_(data)); }; this->data_callbacks_.add(std::move(mute_handled_callback)); } std::vector Microphone::silence_audio_(std::vector data) { if (this->mute_state_) { std::memset((void *) data.data(), 0, data.size()); } return data; } } // namespace microphone } // namespace esphome