Files
2026-02-12 21:00:02 -08:00

86 lines
2.0 KiB
C++

/**
* @file test-player.ino
* @author Phil Schatzmann
* @brief
* @version 0.1
* @date 2022-04-21
*
* @copyright Copyright (c) 2022
*
*/
// install https://github.com/greiman/SdFat.git
#include "AudioTools.h"
#include "AudioTools/Disk/AudioSourceSDFAT.h"
#include "AudioTools/Disk/AudioSourceURL.h"
#include "AudioTools/Communication/AudioHttp.h"
const char *urls[] = {
"http://stream.srg-ssr.ch/m/rsj/mp3_128",
"http://stream.srg-ssr.ch/m/drs3/mp3_128",
"http://stream.srg-ssr.ch/m/rr/mp3_128",
"http://sunshineradio.ice.infomaniak.ch/sunshineradio-128.mp3",
"http://streaming.swisstxt.ch/m/drsvirus/mp3_128"
};
URLStream urlStream("SSID","password");
AudioSourceURL source(urlStream, urls, "audio/mp3");
void testUrl(){
for (int j=-10;j<10;j++){
Stream *out = source.selectStream(j);
Serial.printf("%d -> %d / %s \n", j, source.index(), source.toStr());
if (out!=nullptr){
delay(500);
assert(out->available()>0);
}
}
Serial.println("--------------------------");
}
const char *startFilePath="/";
const char* ext="mp3";
AudioSourceSDFAT sdSource(startFilePath, ext);
void testSD() {
sdSource.setPath("/");
sdSource.begin();
for (int j=-5;j<20;j++){
Stream *out = sdSource.selectStream(j);
Serial.printf("%d -> %d / %s \n", j, sdSource.index(), sdSource.toStr());
if (out!=nullptr){
assert(out->available()>0);
}
}
Serial.println("--------------------------");
}
void testSDNext() {
sdSource.setPath("/");
sdSource.begin();
for (int j=0;j<20;j++){
Stream *out = sdSource.nextStream(1);
Serial.printf("%d -> %d / %s \n", j, sdSource.index(), sdSource.toStr());
if (out!=nullptr){
assert(out->available()>0);
}
}
Serial.println("--------------------------");
}
void setup() {
Serial.begin(115200);
AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Error);
//testUrl();
testSD();
testSDNext();
}
void loop(){
}