Untitled
unknown
plain_text
10 months ago
1.2 kB
4
Indexable
#include <Arduino.h>
#include <AudioFileSourceLittleFS.h>
#include <AudioGeneratorWAV.h>
#include <AudioOutputI2S.h>
#include <FS.h>
#include <LittleFS.h>
// Audio objects
AudioGeneratorWAV *wav;
AudioFileSourceLittleFS *file;
AudioOutputI2S *out;
// I2S pin definitions
#define I2S_BCLK 26 // Bit clock pin
#define I2S_LRC 25 // Left-right clock pin
#define I2S_DOUT 22 // Data output pin
void setup()
{
Serial.begin(115200);
delay(1000);
Serial.println("Initializing LittleFS...");
if (!LittleFS.begin()) {
Serial.println("LittleFS Mount Failed");
return;
}
Serial.println("Setting up I2S...");
out = new AudioOutputI2S();
out->SetPinout(I2S_BCLK, I2S_LRC, I2S_DOUT); // Configure I2S pins
out->SetGain(0.8); // Adjust audio volume
Serial.println("Initializing WAV generator...");
file = new AudioFileSourceLittleFS("/sample.wav"); // Load WAV file
wav = new AudioGeneratorWAV();
if (!wav->begin(file, out)) {
Serial.println("Failed to start WAV playback");
}
}
void loop()
{
if (wav->isRunning()) {
if (!wav->loop()) {
wav->stop();
Serial.println("WAV playback finished.");
}
} else {
delay(1000);
}
}
Editor is loading...
Leave a Comment