#ifndef SPEAKER_H #define SPEAKER_H #include #include #include "freertos/FreeRTOS.h" #include "freertos/queue.h" #include "freertos/task.h" #include "driver/i2s_std.h" #include "driver/gpio.h" #include "esp_check.h" #include "sdkconfig.h" #include "sd.h" #define SPEAKER_PIN_BCLK GPIO_NUM_46 #define SPEAKER_PIN_WS GPIO_NUM_9 #define SPEAKER_PIN_DOUT GPIO_NUM_3 #define SAMPLE_RATE 44100 #define AUDIO_BUFFER 2048 extern i2s_chan_handle_t tx_chan; /// Plays a audio file stopping when something is received on `stop_handle` /// /// `stop_handle` should be of size `uint8_t`. esp_err_t play_raw_stop_queue(const char *fp, QueueHandle_t stop_handle); esp_err_t play_raw(const char *fp); void init_speaker(void); void play_example(); #endif /* SPEAKER_H */