BirdNet-goMikrofon/Arduino-audio-tools-main/arduino-audio-tools-main/examples/sandbox/test-container-avi/test-container-avi.ino

48 lines
1.3 KiB
Arduino
Raw Permalink Normal View History

2026-09-26 01:20:55 +02:00
/**
* @file test-container-avi.ino
* @author Phil Schatzmann
* @brief Test avi container with pcm 8bit data
* @version 0.1
* @date 2022-04-30
*
* @copyright Copyright (c) 2022
*
*/
#include "AudioTools.h"
#include "AudioTools/AudioCodecs/ContainerAVI.h"
#include "AudioTools/AudioLibs/AudioBoardStream.h"
#include "AudioTools/Communication/AudioHttp.h"
URLStream url("ssid","password"); // input
AudioBoardStream out(AudioKitEs8388V1);
DecoderL8 l8(false);
EncodedAudioStream audioOut(&out, &l8); // decodes L8 -> 16 bit -> out
DemuxerAVI codec;
EncodedAudioOutput avi(&codec); // bridges raw AVI bytes -> codec.write()
StreamCopy copier(avi, url);
void setup() {
Serial.begin(115200);
AudioToolsLogger.begin(Serial, AudioToolsLogLevel::Info);
// setup output using default settings
out.begin(out.defaultConfig());
codec.setOutputAudio(audioOut);
// open url
url.begin("https://archive.org/download/Test_Avi/MVI_0043.AVI");
// parse metadata, so that we can validate if the audio/video is supported
while(!codec.isMetadataReady()){
copier.copy();
}
}
void loop() {
// Process data if audio is PCM
AudioInfoFormat info = codec.getAudioInfo();
if (info.format==AudioFormat::PCM && info.bits_per_sample==8){
copier.copy();
}
}