代码
// 按钮控制播放音频
#include <Arduino.h>
#include "AudioFileSourceSPIFFS.h"
#include "AudioGeneratorMP3.h"
#include "AudioOutputI2SNoDAC.h"
AudioGeneratorMP3 *mp3;
AudioFileSourceSPIFFS *file;
AudioOutputI2SNoDAC *out;
int SWITCH_PIN = D4;
int switchVal = 1;
void setup()
{
Serial.begin(9600);
delay(1000);
SPIFFS.begin();
out = new AudioOutputI2SNoDAC();
mp3 = new AudioGeneratorMP3();
pinMode(SWITCH_PIN, INPUT);
}
void loop()
{
switchVal = digitalRead(SWITCH_PIN);
Serial.println(switchVal);
if (mp3->isRunning()) { // 是否在播放
if (!mp3->loop()){ // 是否播放完了
mp3->stop(); // 停止播放
delete file;
delete mp3;
mp3 = new AudioGeneratorMP3();
}
} else {
if (switchVal == 0) { // 开关接通为低电平
file = new AudioFileSourceSPIFFS("/hello.mp3"); // 初始化音频文件
Serial.printf("MP3 done\n");
delay(1000);
mp3->begin(file, out); // 开始播放文件
}
}
}
使用到的库
链接: https://pan.baidu.com/s/1PjfP2x1UlZsmTPE4JIUDyw 提取码: **** 在yuxuanbcx账号下 复制这段内容后打开百度网盘手机App,操作更方便哦
文件上传工具
解压缩esp8266fs插件压缩包,并将解压缩后的文件内容粘贴到arduino ide软件目录tools下文件夹中,然后重启arduino ide
检查“工具”菜单确认插件安装
根据上传的文件总大小来设置闪存大小
将需要上传的文件保存在程序路径下的data文件夹中