Speichern der letzten Position im Hörspielmodus

Hat man als Abspielmodus „Hörbuch“ gewählt, so gibt es verschiedene Aktionen, die dazu führen, dass die letzte Position gespeichert wird. Welche das sind, das ist hier beschrieben: 📗 Die Playmodi des ESPuino.

Es gibt zwei Aktionen, die ich bewusst dort ausgenommen habe:

  • Wechsel in den Deepsleep
  • Das Auflegen einer neuen Karte

Nun, warum habe ich diese Aktionen ausgenommen?

  • Man lernt beispielsweise Karten an. Ich für meinen Teil teste diese im Anschluss, indem ich eine solche halt einfach mal auflege. Was ich dabei jedoch nicht möchte, ist eine Position zu hinterlassen, die nicht 0 ist. Weil ich möchte ja, dass mein Nachwuchs das Hörspiel von Anfang an hören kann. Speichere ich jedoch die Position beim Auflegen einer neuen Karte und auch, wenn ich in den Deepsleep wechsele, dann habe ich im Modus Hörbuch gar keine Chance mehr, dort eine 0 stehen zu haben. Außer man schaltet den ESPuino direkt aus. Nur wenn der ESPuino mit Akku betrieben wird, dann kann man das in einem fertigen Gehäuse ja gar nicht. Alternative wäre Reset, aber dann bootet der ESPuino neu; also bei mehreren Karten wird sowas sicher schnell nervig.
  • Ich wollte einfach generell die Möglichkeit schaffen, dass man sich aussuchen kann, ob vor dem Deepsleep die Position gespeichert wird. Aussuchen kann man sich das, indem man einfach vorher eine Pause drückt.

Grundsätzlich könnte man das natürlich auch konfigurierbar machen. Beim Wechsel der Karte halte ich das aus o.g. Gründen für nicht sinnig, aber beim Deepsleep könnte ich schon der Argumentation folgen, dass man sagt, dass das automatisch zu gehen hat.

Daher wollte ich einfach mal rumhören, wie ihr das so seht.

Beim Deepsleep finde ich es auf jeden Fall sinnvoll, die Position zu speichern. Kann man aber so oder so sehen…

Zum Karten-Testen:

Wenn man ein Hörbuch nach dem Testen von vorne abspielt (mit „Titel zurück“) und dann direkt auf Pause geht, hätte man es ja quasi „genullt“, oder? Im Prinzip ist es eine Abwägung zwischen Benutzerfreundlichkeit beim Testen von Karten und Benutzerfreundlichkeit im Betrieb.
Ich fände zumindest eine Config-Option, beim Wechsel der Karte die Position zu speichern, gut.

Die Sache mit dem Deepsleep habe ich als Option eingeführt: SAVE_PLAYPOS_BEFORE_SHUTDOWN.

Testet mal, ob das so klappt. Ich habe irgendwie gerade ein USB-Problem an meinem MAC. Sämtliche Develboards werden irgendwie nicht mehr erkannt. So kann ich das nicht gescheit debuggen, aber ich denke es müsste passen so.

So, ich war in Spendierlaune und habe dir das zweite Feature auch in Form von SAVE_PLAYPOS_WHEN_RFID_CHANGE eingetragen. Dabei habe ich noch einen Bug entdeckt, der mir öfter schon aufgefallen war, bei dem mir jedoch unklar war, woher er kommt :slight_smile:.

Ich kann beide Argumente gut nachvollziehen, also dass beim Anlernen und anschließenden Testen nicht direkt die Position gespeichert werden sollte, aber finde es auch intuitiver wenn die Hörspiel-Position gespeichert wird egal wie der ESPuino ausgeschaltet bzw. das Hörspiel gestoppt oder unterbrochen wird (Karte wechseln). Daher schlage ich eine Kombination aus beiden vor: 1 Min nach dem Anlernen findet keine Speicherung statt, ansonsten schon. Ich denke das würde die usability für beide Positionen zusammenführen, denn das direkt nach dem Anlernen das Hörspiel auch angehört werden soll und das nur weniger als eine Minute und diese Position dann auch tatsächlich gespeichert werden soll, ist doch recht unwahrscheinlich.

1 „Gefällt mir“

Super Idee :slightly_smiling_face:

Gut, wäre auch kein Problem: Setze ich beim Anlernen einen Timestamp und prüfe, dass der mind. 60000ms vergangen ist.

Noch eine leicht abgewandelte Idee:
Vielleicht speichert man den Fortschritt nur, wenn mindestens 1 Minute (oder 30 Sekunden) gehört wurde. Dann kann man auch ausprobieren, ob die Karte nach dem Import eines Backups funktioniert, ohne dass der Fortschritt gespeichert wird.

2 „Gefällt mir“

Habe ich heute bemerkt …
Man kann ja theoretisch ein komplettes Audiobook in einem File ablegen . Das würde ich so machen wenn ich ein Hörbuch selbst aufnehme , das erspart mir das Aufteilen in einzelne Files. Durch die Speicherung der Position sollte das ja funktionieren . Im Moment ist es aber so dass während des Abspielen des 1. Files ein Rücksprung an den Anfang nicht möglich ist , erst wenn File 2 abgespielt wird geht es .