Arduino示例一:ESP32使用I2S播放MP3音乐
#include <Wire.h>
#include <WM8978.h> /* https://github.com/CelliesProjects/wm8978-esp32 */
#include <Audio.h> /* https://github.com/schreibfaul1/ESP32-audioI2S */
/* M5Stack Node WM8978 I2C pins */
#define I2C_SDA 11
#define I2C_SCL 10
/* M5Stack Node I2S pins */
#define I2S_BCK 3
#define I2S_WS 5
#define I2S_DOUT 2
#define I2S_DIN 4
#define I2S_MCLK 12
Audio audio;
WM8978 wm8978;
void setup() {
Serial.begin(115200);
Wire.begin(I2C_SDA, I2C_SCL);
delay(100);
/* Setup wm8978 I2C interface */
if (!wm8978.begin()) {
Serial.println("Error setting up dac. System halted");
while (1) delay(100);
}
wm8978.setSPKvol(40); /* max 63 */
wm8978.setHPvol(32, 32);
WiFi.begin("xxxxx", "xxxxx");
while (!WiFi.isConnected()) {
delay(10);
}
/* set i2s pins */
audio.setPinout(I2S_BCK, I2S_WS, I2S_DOUT, I2S_MCLK);
Serial.println("Connected. Starting MP3...");
//audio.connecttohost("http://icecast.omroep.nl/3fm-bb-mp3");
audio.connecttohost("https://sis-sample-audio.obs.cn-north-1.myhuaweicloud.com/16k16bit.mp3");
}
void loop() {
audio.loop();
}
