Audio-Player ESP32-audiokit

 

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();
}