BirdNet-goMikrofon/Arduino-audio-tools-main/arduino-audio-tools-main/examples/examples-communication/http-server/streams-audiokit-webserver_aac/streams-audiokit-webserver_aac.ino

57 lines
1.5 KiB
Arduino
Raw Permalink Normal View History

2026-09-26 01:20:55 +02:00
/**
* @file streams-audiokit-webserver_aac.ino
*
* This sketch reads sound data from the AudioKit. The result is provided as AAC stream which can be listened to in a Web Browser
*
* @author Phil Schatzmann
* @copyright GPLv3
*/
#include "AudioTools.h"
#include "AudioTools/AudioLibs/AudioBoardStream.h"
#include "AudioTools/AudioCodecs/CodecAACFDK.h"
#include "AudioTools/Communication/AudioHttp.h"
// WIFI
const char *ssid = "ssid";
const char *password = "password";
AudioInfo info(16000,1,16);
AACEncoderFDK fdk;
AudioEncoderServer server(&fdk, ssid, password);
AudioBoardStream kit(AudioKitEs8388V1);
// Arduino setup
void setup(){
Serial.begin(115200);
// Defining Loglevels for the different libraries
//AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Info);
//LOGLEVEL_FDK = FDKInfo;
//LOGLEVEL_AUDIOKIT = AudioKitInfo;
// setup and configure fdk (not necessary if you activate PSRAM)
fdk.setAudioObjectType(2); // AAC low complexity
fdk.setOutputBufferSize(1024); // decrease output buffer size
fdk.setVariableBitrateMode(2); // low variable bitrate
// start i2s input with default configuration
Serial.println("starting AudioKit...");
auto config = kit.defaultConfig(RX_MODE);
config.input_device = ADC_INPUT_LINE2;
config.copyFrom(info);
config.sd_active = false;
kit.begin(config);
Serial.println("AudioKit started");
// start data sink
server.begin(kit, info);
Serial.println("Server started");
}
// Arduino loop
void loop() {
// Handle new connections
server.doLoop();
}