snapshot
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
|
||||
/**
|
||||
* @file send-mp3.ino
|
||||
* @brief Example of sending an mp3 stream over Serial the AudioTools library.
|
||||
* We use xon/xoff to control the flow of the data.
|
||||
* I am using an ESP32 Dev Module for the test with the pins TX=17 and RX=16.
|
||||
*/
|
||||
|
||||
#include "AudioTools.h"
|
||||
#include "AudioTools/Communication/AudioHttp.h"
|
||||
|
||||
URLStream url("ssid", "password"); // or replace with ICYStream to get metadata
|
||||
StreamCopy copier(Serial1, url); // copy url to decoder
|
||||
// xon/xoff flow control
|
||||
const char xon = 17;
|
||||
const char xoff = 19;
|
||||
bool is_active = false;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Error);
|
||||
|
||||
// setup serial data sink
|
||||
Serial2.begin(115200);
|
||||
|
||||
// mp3 radio
|
||||
url.begin("http://stream.srg-ssr.ch/m/rsj/mp3_128", "audio/mp3");
|
||||
}
|
||||
|
||||
// Determine if we can send data from the flow control sent by the receiver
|
||||
bool isActive() {
|
||||
char c = Serial2.read();
|
||||
switch (c) {
|
||||
case xon:
|
||||
is_active = true;
|
||||
break;
|
||||
case xoff:
|
||||
is_active = false;
|
||||
break;
|
||||
}
|
||||
return is_active;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (isActive()) {
|
||||
copier.copy();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user