Add m5core2 audio (working)

This commit is contained in:
2021-08-27 19:30:43 +02:00
parent 37f5c208e3
commit 4249ce08aa
7 changed files with 182 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
#pragma mark - Depend ESP8266Audio and ESP8266_Spiram libraries
/*
cd ~/Arduino/libraries
git clone https://github.com/earlephilhower/ESP8266Audio
git clone https://github.com/Gianbacchio/ESP8266_Spiram
*/
#include <M5Core2.h>
#include <driver/i2s.h>
#include <WiFi.h>
#include "AudioFileSourceSD.h"
#include "AudioFileSourceID3.h"
#include "AudioGeneratorMP3.h"
#include "AudioOutputI2S.h"
AudioGeneratorMP3 *mp3;
AudioFileSourceSD *file;
AudioOutputI2S *out;
AudioFileSourceID3 *id3;
#define OUTPUT_GAIN 30
void setup()
{
M5.begin();
M5.Axp.SetSpkEnable(true);
WiFi.mode(WIFI_OFF);
delay(500);
M5.Lcd.setTextFont(2);
M5.Lcd.printf("Sample MP3 playback begins...\n");
Serial.printf("Sample MP3 playback begins...\n");
// pno_cs from https://ccrma.stanford.edu/~jos/pasp/Sound_Examples.html
file = new AudioFileSourceSD("/003.mp3");
id3 = new AudioFileSourceID3(file);
out = new AudioOutputI2S(0, 0); // Output to builtInDAC
out->SetPinout(12, 0, 2);
out->SetOutputModeMono(true);
out->SetGain((float)OUTPUT_GAIN/100.0);
mp3 = new AudioGeneratorMP3();
mp3->begin(id3, out);
}
void loop()
{
if (mp3->isRunning()) {
if (!mp3->loop()) mp3->stop();
} else {
Serial.printf("MP3 done\n");
delay(1000);
}
}