#include "FS.h"
#include "SD.h"
#include "SPIFFS.h"
#include "AudioFileSourceSPIFFS.h"
#include "AudioGeneratorWAV.h"
#include "AudioOutputI2S.h"
// Define the output pin for the speaker
const int speakerPin = 25;
void setup() {
Serial.begin(115200);
delay(1000);
// Mount SPIFFS filesystem
if (!SPIFFS.begin(true)) {
Serial.println("Failed to mount SPIFFS");
return;
}
// Initialize audio output
AudioOutputI2S *out = new AudioOutputI2S();
out->SetOutputModeMono(true);
out->SetPinout(speakerPin);
// Initialize audio file source
AudioFileSourceSPIFFS *file = new AudioFileSourceSPIFFS("/sound.wav");
// Initialize audio generator
AudioGeneratorWAV *wav = new AudioGeneratorWAV();
wav->begin(file, out);
}
void loop() {
// Update the audio generator
if (wav->isRunning()) {
wav->loop();
} else {
wav->stop();
}
}