Модуль читает файлы с заданным типом, помещая их массив для дальнейшей работы с каталогом
C++
int get_music_list(fs::FS &fs, const char *dirname, uint8_t levels, String wavlist[30])
{
Serial.printf("Listing directory: %s\n", dirname);
int i = 0;
File root = fs.open(dirname);
if (!root)
{
Serial.println("Failed to open directory");
return i;
}
if (!root.isDirectory())
{
Serial.println("Not a directory");
return i;
}
File file = root.openNextFile();
while (file)
{
if (file.isDirectory())
{
}
else
{
String temp = file.name();
if (temp.endsWith(".wav"))
{
wavlist[i] = String(dirname) + "/" + temp; // Добавляем в имена фалов полный путь каталога
// wavlist[i] = temp; // Без добавления пути, только имя файла
i++;
}
else if (temp.endsWith(".mp3"))
{
wavlist[i] = String(dirname) + "/" + temp;
// wavlist[i] = temp;
i++;
}
}
file = root.openNextFile();
}
return i;
}