Spulen im Titel

Keine Ahnung ob ich es überlesen habe oder es bisher keiner Gebraucht hat.

Meine Freundin hat Hörspiele heruntergeladen, welche ca. 60min lang sind und nur eine Datei haben.
Jetzt kam es schon zweimal vor, dass mein Kind eine Stelle zweimal hören wollte.

Meine Frage: Gibt es eine Möglichkeit in den Dateien zu spulen? Ich habe diesbezüglich nichts in der Anleitung gefunden. Lange Vor/Zurück-Taste drücken springt ja zum Anfang/Ende. Mit Play-Taste + Vor/Zurück oder Play-Taste und Drehencoder bin ich auch nicht weitergekommen.

Falls es diese Funktion nicht gibt, dann habe ich mir Überlegt die Dateien zu splitten.

Die Audiolib unterstützt das, aber ich habe es bisher nicht implementiert. Ja, Splitting ist natürlich eine Möglichkeit, das zu umgehen.

Hy @biologist ,
Danke für die schnelle Antwort.
Schade, ich hab‘ mir das schon gedacht. Da werde ich die Dateien splitten.

Vielleicht findet das Feature ja irgendwann den Weg ins Projekt - vielleicht war das auch ein Einzelproblem und eine Implementierung verbraucht mehr Zeit als sie spart.

@biologist helfe mir mal bitte, wo das in der Doku der Audiolib steht. Ich versuche demnächst mal ob ich das hinbekomme.
Ich stelle mir sowas vor wie Longpress Play-Taste, dann gibt es einen beep und man kann mit den Pfeiltasten Spulen. Da wäre auch noch eine shortpress- und longpress-Unterscheidung möglich (zB Shortpress: 10Sek und Longpress: 1Neopixel pro Sekunde). Und nach einem Timeout geht es zurück in den normalen Modus

Das ist in keinem Beispiel drin. Wirf mal einen Blick in die Audio.h, da findet man das als public-Methode. Da gibt es eine Funktion, der kann man soweit ich das in Erinnerung habe, einen Integer übergeben und so schnell läuft das dann.

Ich habe diese Funktion vorhin mal implementiert (ist recht einfach; vor allem mit dem neuen Button-Layout), aber Wolles Lib reagiert irgendwie nicht so, wie ich das erwarte. Habe da eben mal einen Bug bei Wolle aufgemacht.

4 „Gefällt mir“

Danke…das ist lieb von dir - scheinbar war ich ja der Einzige, denn es interessiert hat.

Ich hab es auch versucht, bin aber dabei Stecken geblieben :woozy_face:

Ja schauen wir mal, was er schreibt.
Zur Referenz: audioFileSeek() not working? · Issue #123 · schreibfaul1/ESP32-audioI2S · GitHub

Letztlich ist es so, dass quasi nix passiert, wenn ich den Befehl aufrufe. Also zumindest mal nicht in einer Form, dass sich was ändert an der Abspielgeschwindigkeit.

Ich hätte da auch Interesse daran. Wenn da jemand, z.b @biologist was lauffähig hat würde ich mich freuen, wenn dies auf die eine oder andere Weise zugänglich gemacht wird :slightly_smiling_face:
Ich hatte es auch schon probiert. Bin aber daran gescheitert. Hatte das gleiche Phänomen wie @biologist, dass sich nichts getan hat.

Das beruhigt mich :slight_smile:
Also ich denke lauffähig + sauber integriert habe ich das. Man wird im Detail noch schauen müssen, wie sich das bei Pause, nächstem Titel etc pp verhält, aber wenn Wolle das noch fixt, dann sollte es passen. Gut ist auf jeden Fall, dass die Methode ein bool zurückgibt, ob die „Transformation“ geklappt hat oder nicht.

Wolle hat geantwortet: audioFileSeek() not working? · Issue #123 · schreibfaul1/ESP32-audioI2S · GitHub
Ich habe den Code (zusammen mit anderem Kram) aber eben dennoch hochgeladen. Sollte da nix gefixt werden, dann baue ich es halt wieder aus. Also man kann die Aktionen Tasten entsprechend zuweisen aber es passiert halt nicht viel.

Wolle hat jetzt eine neue Methode bereitgestellt, mit der man wohl springen kann. Ich werde das mal testen und dann vielleicht Aktionen bereitstellen, die sowas wie 15s oder 30s oder 1min springen. Aber muss man auch mal schauen, was passiert, wenn ein Titel zB 20s gelaufen ist und man springt 30s zurück.

Also ich werd’s mal testen.

1 „Gefällt mir“

Also die neue Funktion funktioniert. Habe gestern bisschen damit rumexperimentiert. Werde das die Tage mal fertig entwickeln und hochladen.

5 „Gefällt mir“

ist das schon public?

Danke!

Leider nicht.
Ich habe gerade zu viel anderen Kram zu tun :woman_shrugging:

Ich hab zwischen den Tracks immer ein kurzes knacken, das ist vor allem störend wenn die titel manuell geteilt worden sind mit mp3splt.
Kann man das minimieren?
Liegt das an dem Cache der neu geladen wird? Vielleicht könnte man die daten umkonvertieren auf 128kbit Mono wenn das was bringt.

Da muss @Wolle was zu sagen. Kann ich dir nicht beantworten.

Das kurze Knacken zwischen den Titeln kann ich nicht bestätigen. Ich habe mit Audacity eine Audiodatei in drei Teile geteilt und als Playlist abspielen lassen. Das funktioniert wie erwartet.
In Kürze werde ich eine Funktion bereitstellen, die nicht wie bisher relative sondern auch absolute Sprüngen innerhalb einer Zeitleiste ermöglicht. Damit wird das Teilen einer Audiodatei unnötig.

1 „Gefällt mir“

So, ich habe die Funktionalität eben integriert.
Es gibt nun die Kommandos CMD_SEEK_FORWARDS und CMD_SEEK_BACKWARDS kann man nun eine in jumpOffset definierte Zeitspanne vor- oder zurückspringen. Per Default habe ich da mal 30s eingetragen.

1 „Gefällt mir“

Da man auch die Abspielgeschwindigkeit ändern kann (kann man, oder?), wären auch aktionen bei BUTTON_4_LONG_START und BUTTON_5_LONG_START denkbar.
(gibt es noch nicht)
Dafür muss lastPressedTimestamp > lastReleasedTimestamp sein statt andersherum. link

Dann könnte man die schnellere Geschwindigkeit bei Beginn des langen Tastendrucks starten und bei Ende des langen Tastendrucks wieder die normale Geschwindigkeit setzen.