Audio-Player mit ESP32-Audiokit 2.2.
Stand: 16.04.2022
Ein kleiner Versuch der persönlichen Anpassung der “arduino-audio-tools” Bibliotheken von Phil Schatzmann.
Die Steuerung erfolgt über ein 3,5″ Nextion Display.
Noch in Arbeit!! Aber das meiste klappt!
Eine Testversion meiner “main.cpp” zum Testeten der Funktionen.
/** * @file player-sd-audiokit.ino * @brief see https://github.com/pschatzmann/arduino-audio-tools/blob/main/examples/examples-audiokit/player-sd-audiokit/README.md * * @author Phil Schatzmann * @copyright GPLv3 */ // set this in AudioConfig.h or here after installing https://github.com/pschatzmann/arduino-libhelix.git #include "MP3DecoderHelix.h" #include "SdFat.h" #include <Wire.h> #define USE_SDFAT #define USE_HELIX // or USE_MAD #include "AudioTools.h" #include "AudioLibs/AudioKit.h" float vol = 0.5; const char *startFilePath="/"; const char* ext="mp3"; int speedMz = 10; AudioSourceSdFat source(startFilePath, ext, PIN_AUDIO_KIT_SD_CARD_CS, speedMz); AudioKitStream kit; MP3DecoderHelix decoder; // or change to MP3DecoderMAD AudioPlayer player(source, kit, decoder); void next(bool, int, void*) { player.next(); Serial.print("Index: "); Serial.println(source.index()); Serial.println(source.toStr()); } void previous(bool, int, void*) { player.previous(); } void lauter(bool, int, void*) { if (vol < 1){ vol = vol + 0.1; player.setVolume(vol); Serial.print("+"); Serial.println(vol); } } void leiser(bool, int, void*) { if (vol > 0){ vol = vol - 0.1; player.setVolume(vol); Serial.print("-"); Serial.println(vol); } } void setup() { Serial.begin(115200); AudioLogger::instance().begin(Serial, AudioLogger::Warning); //AudioLogger::instance().begin(Serial, AudioLogger::Debug); // setup output auto cfg = kit.defaultConfig(TX_MODE); kit.begin(cfg); // setup additional buttons kit.addAction(PIN_KEY4, next); kit.addAction(PIN_KEY3, previous); kit.addAction(PIN_KEY5, leiser); kit.addAction(PIN_KEY6, lauter); //player.setVolume(0.1); // setup player player.setVolume(0.5); player.begin(); } void loop() { player.copy(); kit.processActions(); }