8 #include <freertos/FreeRTOS.h> 32 virtual size_t play(
const uint8_t *data,
size_t length, TickType_t ticks_to_wait) {
39 return this->
play(data, length);
49 virtual size_t play(
const uint8_t *data,
size_t length) = 0;
51 size_t play(
const std::vector<uint8_t> &data) {
return this->
play(data.data(), data.size()); }
53 virtual void start() = 0;
54 virtual void stop() = 0;
virtual bool set_mute_off()=0
virtual bool set_mute_on()=0
virtual void set_volume(float volume)
void add_audio_output_callback(std::function< void(uint32_t, uint32_t, uint32_t, uint32_t)> &&callback)
Callback function for sending the duration of the audio written to the speaker since the last callbac...
virtual bool has_buffered_data() const =0
CallbackManager< void(uint32_t, uint32_t, uint32_t, uint32_t)> audio_output_callback_
size_t play(const std::vector< uint8_t > &data)
void set_audio_stream_info(const audio::AudioStreamInfo &audio_stream_info)
virtual bool get_pause_state() const
void set_audio_dac(audio_dac::AudioDac *audio_dac)
virtual bool set_volume(float volume)=0
audio_dac::AudioDac * audio_dac_
Implementation of SPI Controller mode.
virtual void set_pause_state(bool pause_state)
audio::AudioStreamInfo & get_audio_stream_info()
virtual size_t play(const uint8_t *data, size_t length, TickType_t ticks_to_wait)
Plays the provided audio data.
audio::AudioStreamInfo audio_stream_info_
virtual void set_mute_state(bool mute_state)