mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino mp3 Shield Dateien gezielt anspielen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Andreas G. (angri)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.
Ich habe gerade ein VS1053 mp3 Shield in Betrieb genommen und möchte 
damit einen mp3 Player für die Kids bauen. Dabei möchte ich folgende 
Funktionalität abbilden:

Druck auf Knopf 1:
Gehe in Ordner "1" auf der SD Karte und spiele dort die erste Datei ab, 
dann die zweite usw...

Druck auf Knopf 2:
Gehe in den Ordner "2" auf der SD Karte und spiele dort die erste Datei 
ab, dann die zweite usw...

In meinem Sketch habe ich es schon  geschafft, die Ordner zu wechseln 
und gezielt Tracks abzuspielen mit z.B.
MP3player.playMP3("track004.mp3");

Allerdings bedingt das, das die mp3s dort strukturiert abgelegt werden 
müssen.
Gibt es eine Möglichkeit, in Ordner X zu wechseln und von dort die 
erste, zweite, dritte Datei usw. abzuspielen?

Mit
MP3player.playTrack(3)
wird das ganze ja so wie ich das nachvollzogen habe global auf der SD 
Karte gehandhabt.
Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken ;-)

Hier mein aktueller Code zum besseren Verständnis:
#include <SPI.h>      // libraries
#include <SdFat.h>
// #include <SdFatUtil.h>
#include <SFEMP3Shield.h>

SdFat sd;       //SD Karte benennen
SFEMP3Shield MP3player;   //MP3 Shield als „MP3Player benennen

int t=6000;       //Der Wert für „t“ gibt im Code den zeitlichen Abstand zwischen dem Abspielen der Datei an.


void setup() {
Serial.begin (9600);
  if(!sd.begin(9, SPI_HALF_SPEED)) sd.initErrorHalt();  //SD Karte mit MP3 Dateien auslesen
  if (!sd.chdir("/")) sd.errorHalt("sd.chdir");

  MP3player.begin();    //MP3 Shield starten
  MP3player.setVolume(10,10); //Die Lautstärke einstellen 
  
}

void loop() {

  MP3player.available();

  sd.chdir("/a02/",true);
  MP3player.playMP3("track003.mp3");

  delay(3000);
  sd.chdir("/a03/",true);
  MP3player.playMP3("track004.mp3");
   
  delay(3000);
    
}

: Bearbeitet durch User

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.