Standardansge bevor der Titel gespielt wird

Hallo!

Ich habe ein kleines Problem. Ich möchte gerne eine kleine Standartansage abspielen bevor die gewünscht Datei abgespielt wird. Ich möchte""" Bitte warte bis ich deine Datei gefunden habe „“" Abspeilen lassen und dann soll kurz danach die gewünschte Datei abgespielt werden.
Ich habe es soweit auch hinbekommen ABER ich habe das Problem das er bei Hörbuchmodus wo er den Fortschritt speichert Nicht mehr an der gespeicherten Stelle anfängt sondern irgendwo anders bzw immer eine Datei weiterspringt. Ich habe es versucht abzuspielen bevor die Datei abgespielt wird und auch nach dem die Karte aufgelegt wurde. Aber immer derselbe Fehler . Ich habe es probiert mit abspielen noch Datein im MP3 / Avert Ordner und auch in einen Normalen Ordner . Ich musste allesdings immer nach der Abspielbefehrl ein Delay einbauen damit die Ansage zuende angesagt wird.
ich komme nicht weiter.Kann mir einer helfen…
Ansonsten lasse ich das Gimick weg.
Danke schon mal

Schade …hat wohl keiner eine Lösung…Dann geht es halt nur ohne den kleinen Gimick…

Was hast du denn bisher geändert? Wir bzw. die Programmierexperten haben keinen Einblick in deine bisherigen Codeänderungen :wink:. Hast du die aktuelle DEV abgeändert?

Und eine Ausgabe der Konsole wäre evtl. auch noch hilfreich.

Eine Sache noch. Wieso willst du das überhaupt machen? Kinder wollen die Karte auflegen und Musik/Geschichten hören. Wenn dann jedes Mal noch die Ansage kommt, würde mich persönlich das ehrlich gesagt etwas stören, bzw. Nerven. Dann liegt der Tonuino nur noch rum und du musst alles wieder auf Anfang stellen, was das Programm anbelangt. Aber das ist jetzt meine Meinung…

1 „Gefällt mir“

Müsste es nicht reichen, wenn du deinen zusätzlich Aufruf gleich in der void loop() einfügst?

  if (readCard(&myCard) == true) {
    if (myCard.cookie == cardCookie && myCard.nfcFolderSettings.folder != 0 && myCard.nfcFolderSettings.mode != 0) {
             //---> Standardansage
mp3.playMp3FolderTrack(HierNummerDerMP3Einsetzen);
waitForTrackToFinish();

      playFolder();
    }

Wenn ich es richtig verstanden habe, möchtest du das die Ansage nur beim Kartenauflegen (und nicht bei Shortcuts oder so) gespielt wird.
Hast du mal probiert diese Ansage VOR dem playFolder(); einzufügen?

1 „Gefällt mir“

Moin!

Ich habe das Folgende (ohne Anspruch auf Vollständigkeit) mal kurz an der dev/main durchprobiert.
In der void playFolder() habe ich vor Serial.println(F("== playFolder()")) ; eingesetzt:
mp3.playMp3FolderTrack(HierNummerDerMP3Einsetzen); waitForTrackToFinish();
Und bei mir wird so beim Auflegen einer Karte und beim Starten eines ShortCuts die auserkorene (noch zu erstellende) mp3 abgespielt bevor der eigentliche Titel anfängt.
Wenn Du in der dev einen Startsound über das Adminmenü konfiguriert hast, würde so dann allerdings auch vor diesem die „Ich suche nach Deinem Inhalt“-Ansage kommen.

Deswegen hätte ich den Code von dir vor dem Aufruf der PlayFolder() positioniert. Dann wird er nur beim Auflegen einer bekannten Karte (außer Adminkarte) angespielt.

Auf jeden Fall kommt es mit meinem Vorschlag bei mir nicht zu der beschriebenen Problematik, dass der gespeichte Fortschritt nicht richtig abgerufen wird :joy: Und das hatte ich als Hauptproblem verstanden. :wink:

1 „Gefällt mir“

Habe jetzt meinen Code-Schnipsel auch mal an der von Dir vorgeschlagenen Stelle kurz durch probiert und kann Deine Vermutung bestätigen!

1 „Gefällt mir“

Damit hat @DunklesHell jetzt die Wahl, ob die Ansage auch bei Shortcuts kommen soll oder nicht.

Erstmal Danke für die Antworten.ich habe soweit nichts geändert an der originalen DEV.Die Ansage bei den normalen Modus klappt ja.Ich habe halt nur das Problem beim Modus 8.Hörbuch mit Speicherung des Fortschritts.Wenn ich dort die Ansage abgespielt habe ,dann hätte er nicht den gespeicherten Stand abgespielt sondern entweder von vorne angefangen oder aber 1-2 Stellen später.Bin noch am überlegen es umzusetzten,da es ja wie schon manche hier sagen ,nervt bzw überflüssig ist .Werde aber die Vorschläge Mal bei mir testen…und wenn es nervt kann man es ja wieder weg nehmen.Danke für die Tipps