mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 13:16:32 +00:00
fix i2saudio when file not found
This commit is contained in:
parent
e2983e3f1b
commit
1cb4964a4e
@ -54,6 +54,8 @@ AudioFileSourceID3 *id3;
|
|||||||
AudioGeneratorMP3 *decoder = NULL;
|
AudioGeneratorMP3 *decoder = NULL;
|
||||||
void *mp3ram = NULL;
|
void *mp3ram = NULL;
|
||||||
|
|
||||||
|
#define I2SAUDIO_TASK_STACK_SIZE 8192
|
||||||
|
|
||||||
|
|
||||||
#ifdef ESP8266
|
#ifdef ESP8266
|
||||||
const int preallocateBufferSize = 5*1024;
|
const int preallocateBufferSize = 5*1024;
|
||||||
@ -189,6 +191,7 @@ void sayTime(int hour, int minutes, AudioGeneratorTalkie *talkie) {
|
|||||||
} else {
|
} else {
|
||||||
talkie->say(spA_M_, sizeof(spA_M_));
|
talkie->say(spA_M_, sizeof(spA_M_));
|
||||||
}
|
}
|
||||||
|
out->stop();
|
||||||
delete talkie;
|
delete talkie;
|
||||||
TTGO_PWR_OFF
|
TTGO_PWR_OFF
|
||||||
}
|
}
|
||||||
@ -293,7 +296,7 @@ void Webradio(const char *url) {
|
|||||||
retryms = millis() + 2000;
|
retryms = millis() + 2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
xTaskCreatePinnedToCore(mp3_task2, "MP3-2", 8192, NULL, 3, &mp3_task_h, 1);
|
xTaskCreatePinnedToCore(mp3_task2, "MP3-2", I2SAUDIO_TASK_STACK_SIZE, NULL, 3, &mp3_task_h, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void mp3_task2(void *arg){
|
void mp3_task2(void *arg){
|
||||||
@ -373,25 +376,27 @@ void Play_mp3(const char *path) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
file = new AudioFileSourceFS(*fsp,path);
|
file = new AudioFileSourceFS(*fsp,path);
|
||||||
id3 = new AudioFileSourceID3(file);
|
if (file->isOpen()) {
|
||||||
|
id3 = new AudioFileSourceID3(file);
|
||||||
|
|
||||||
if (mp3ram) {
|
if (mp3ram) {
|
||||||
mp3 = new AudioGeneratorMP3(mp3ram, preallocateCodecSize);
|
mp3 = new AudioGeneratorMP3(mp3ram, preallocateCodecSize);
|
||||||
} else {
|
} else {
|
||||||
mp3 = new AudioGeneratorMP3();
|
mp3 = new AudioGeneratorMP3();
|
||||||
}
|
}
|
||||||
mp3->begin(id3, out);
|
mp3->begin(id3, out);
|
||||||
|
|
||||||
if (I2S_Task) {
|
if (I2S_Task) {
|
||||||
xTaskCreatePinnedToCore(mp3_task, "MP3", 8192, NULL, 3, &mp3_task_h, 1);
|
xTaskCreatePinnedToCore(mp3_task, "MP3", I2SAUDIO_TASK_STACK_SIZE, NULL, 3, &mp3_task_h, 1);
|
||||||
} else {
|
} else {
|
||||||
while (mp3->isRunning()) {
|
while (mp3->isRunning()) {
|
||||||
if (!mp3->loop()) {
|
if (!mp3->loop()) {
|
||||||
mp3->stop();
|
mp3->stop();
|
||||||
mp3_delete();
|
mp3_delete();
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
OsWatchLoop();
|
||||||
}
|
}
|
||||||
OsWatchLoop();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user