Ein Titel wurde bis zum Ende Gespielt ->Speichern?


#1

Versuche gerade eine Möglichkeit zu finden, an die Information zu kommen ob ein Titel bis zum Ende gespielt wurde.
Das würde ich dann gerne speichern.
Über die next Track Funktion geht es nicht, da diese ja auch per Taste wärend des Liedes aufgerufen werden kann. In der Dokumentation finde ich keine Abfrage vom Player.

Übersehe ich da was???


#2

Ich meine die gibt es, schau mal in der Libary nach, bin leider nicht zu Hause und über das Handy das jetzt raus suchen ist müßig. Ich meine eine Status abfrage und Antwort ähnlich “hasTrackFinished” oder “hasPlayedFinished” gesehen zu haben.

EDIT: habs doch gefunden, aber nicht in der dfmini libary… Datenblatt vom chip.


#3

Sie Hörbuchfunktion macht doch genau das?


#4

Ich denke der genaue use case dieser Anfrage ist nicht genau genug erläutert. Ich zumindest verstehe leider nicht was genau das Ziel ist.


#5

Die Hörbuch Funktion speichert doch den Fortschritt indem sie genau das File speichert das gerade läuft.
Beim Neustart wird dieser Titel neu gestartet wenn er nicht zuende beim abschalten. Sohabe ich es zumindest verstanden.


#6

Ja. Aber das gibt es doch wie gesagt schon.


#7

Dann schaue ich noch mal genau in den Code, da ich etwas übersehe oder falsch verstehe.
Christopher schreibt ja auch das es die Libary nicht anbietet. Muss noch mal genau nach eurer eigenen Einbindung schauen.


#8

Verstehe immer noch nicht was du machen willst. Sorry.


#9

Einfach nur wissen welche Titel zu 100% gelaufen sind und dann zu makieren.


#10

Es würde sicher helfen wenn du verraten würdest was du damit willst.

:thinking:


#11

Das soll kein Geheimnis bleiben.
Eine Led rot machen wenn der Titel zu 100% gespielt ist sonst grün.
wenn ich mehr ins Detail gehe hilft es der Problem Lösung nicht.
Lese jetzt das Data Sheet
DANKE


#12

Aber dann fängt ja der nächste Track an und es wird wieder grün?


#13

es gibt natürlich mehr Leds, 8 um genau zu sein.
Aber für den Ordner für jeden Song die Information die gespeichert wird.


#14

Also eine Art Fortschrittsanzeige? Pragmatisch wäre, in der Next Track Funktion zu unterscheiden ob es manuell oder automatisch ausgelöst wurde. Abhänging davon das irgendwie im eeprom speichern. Aber das is schon ganz schön special interest. :wink:


#15
static void nextTrack(uint16_t track, bool finished);

class Mp3Notify {
  public:
    static void OnError(uint16_t errorCode) {
      // see DfMp3_Error for code meaning
      Serial.println();
      Serial.print("Com Error ");
      Serial.println(errorCode);
    }
    static void OnPlayFinished(uint16_t track) {
      //      Serial.print("Track beendet");
      //      Serial.println(track);
      //      delay(100);
      nextTrack(track, true);
    }
    static void OnCardOnline(uint16_t c`Vorformatierter Text`ode) {
      Serial.println(F("SD Karte online "));
    }
    static void OnCardInserted(uint16_t code) {
      Serial.println(F("SD Karte bereit "));
    }
    static void OnCardRemoved(uint16_t code) {
      Serial.println(F("SD Karte entfernt "));
    }
};

#16

Am iPad gerade irgendwie schwer


#17

Danke Thorsten für deine Hilfe ich werde jetzt erstmal selbst ein wenig die Zellen bemühen, will ja auch was lernen.
Eure Tips und Hilfen sind Super dafür immer wieder gerne :+1:


#18

Fortschrittanzeige trifft es, wobei manuell auch gültig ist wenn der Song angewählt wurde aber zu 100% gehört wird.

Hiermit sollte es gehen.
Kenne Ordner und Titel und OnPlayFinished() gibt die Info die ich brauche!

static void OnPlayFinished(uint16_t track) {
Serial.println(“Track beendet_MP3_Notify”);
Serial.println(track);
delay(100);
nextTrack(track);


#19

Nur der vollständigkeit halber
if (upButton.pressedFor(LONG_PRESS)) {
Serial.println(F(“Volume Up”));
mp3.increaseVolume();
ignoreUpButton = true;
} else if (upButton.wasReleased()) {
if (!ignoreUpButton)
nextTrack(random(65536),false);