Zufällige Wiedergabe im Hörspielmodus - Modifikation möglich?

#1

Grüß euch

Habe mir dank euch auch eine TonUINO box bauen können und sie funktioniert auch anstandslos.
Wollte jetzt nur gerne wissen ob man den Hörspielmodus dahingehend modifizieren kann das eine bestimmte Anzahl von zufälligen Liedern aus einem Ordner wiedergegeben wird und die Box danach die Wiedergabe stoppt (sich aber nicht abschaltet)?
Z.Z. wird ja im Hörspielmodus nur ein zufälliges Lied gespielt und dann muss man die Karte wieder drüber ziehen wenn man ein weiteres haben will. Würde das eben gerne auf z.B. 4 Lieder anheben bevor man wieder eine Karte drüber ziehen/drauf legen muss.

LG

#2

Du packst diese 4 Lieder in einen Ordner und nutzt stattdessen den Album- oder Partymodus. Oder, wenn du Ordner sparen willst, nutze (DEV Version vorausgesetzt) den “von-bis” Album- oder Partymodus. Dann kannst du mehrere Karten über einen Ordner bedienen.

#3

Wenn ich @obsecrans richtig verstehe, wäre der Party-Modus mit einer kleinen Modifikation die Lösung.
Der Partymodus fängt ja nach dem letzten Lied wieder von vorne an.

  if (myFolder->mode == 3 || myFolder->mode == 9) {
if (currentTrack != numTracksInFolder - firstTrack + 1) {
  Serial.print(F("Party -> weiter in der Queue "));
  currentTrack++;
} else {
  Serial.println(F("Ende der Queue -> beginne von vorne"));
  currentTrack = 1;
  //// Wenn am Ende der Queue neu gemischt werden soll bitte die Zeilen wieder aktivieren
  //     Serial.println(F("Ende der Queue -> mische neu"));
  //     shuffleQueue();
}
Serial.println(queue[currentTrack - 1]);
mp3.playFolderTrack(myFolder->folder, queue[currentTrack - 1]);
} 

Wenn Du in dem Else-Block mit dem auskommentierten Text einfach ein “return;” einfügst, müsste der Party-Modus nach dem letzten Lied automatisch stoppen.

#4

Achja, der Partymodus begint ja im Orignal von vorne. Bei mir stoppt er. Gut aufgepasst @Dennis! Würde aber vor dem return noch ein setstandbyTimer(); machen, damit selbiger wieder aktiviert wird (ist bei anderen Modi ja auch so).

if (myFolder->mode == 3 || myFolder->mode == 9) {
if (currentTrack != numTracksInFolder - firstTrack + 1) {
  Serial.print(F("Party -> weiter in der Queue "));
  currentTrack++;
} else {
  setstandbyTimer();
  return;
}
Serial.println(queue[currentTrack - 1]);
mp3.playFolderTrack(myFolder->folder, queue[currentTrack - 1]);
}
1 Like
#5

Danke für eure schnellen Antworten @Dennis @stephan
Die Lösung meines “Problems” ist aber durch keine eurer genannten Vorschläge gegeben.

Wäre grundsätzlich schon möglich jedoch auf grund der Fülle an Dateien mit den 99 Ordner nicht umsetzbar.

Zum Partymodus - wenn ich den richtig verstehe erstelle ich damit eine Queue von x Liedern die in zufälliger Reihenfolge abgespielt werden und mit der return Modifikation nach vollständiger Wiedergabe stoppt, oder?
D.h. ich müsste pro 4 Lieder-Queue eine Karte zuweisen? Wäre dann im Endeffekt wie wenn ich für jede Hörspiel-CD eine RFID Karte benötige.

Zur besseren Verständnis ein Beispiel:
Ich habe von Ninjago 94 Episoden - die liegen alle in einem Ordner - daraus soll mit einer “Ninjago”-Karte per Zufall 4 (diese Zahl soll variabel einstellbar sein) Episoden wiedergegeben werden und die Box danach stoppen. Dadurch erhalte ich mit 1 Karte quasi eine Zufalls-Hörspiel-CD.

Die Idee dahinter ist dass sich das Kind am Abend zum Schlafen gehen eine Karte aussuchen kann (Ninjago,Paw Patrol, Go Wild, oder was auch immer) und dann daraus nur “4” Episoden abgespielt werden wenn es dann noch nicht eingeschlafen ist kann es sich wieder eine Karte aussuchen. Wenn es aber einschläft ist eben nach 4 Episoden aus und mit dem StandbyTimer schaltet die Box nach der definierten Zeit ab.

#6

Okay das wird so von keinem der Modi abgebildet. Hier müsstest du selber Hand anlegen. Wenn man für jeden Edgecase einen extra Modus implementiert wird es irgendwann auch unübersichtlich. Eventuell kannst du auch dem Party Modus einfach auf 4 slots beschränken, das ist wahrscheinlich das einfachste.

#7

Okay, danke. Dann wäre das für mich geklärt. Hab eigentlich keine Ahnung von dem ganzen Code-Zeugs darum hab ich einfach mal gefragt.
Dachte das würde ev leicht gehen das man im Hörspielmodus sagt statt spiele 1Track, spiele 4.
Aber gut dann passe ich eben meine Ordner an die vorhandenen Möglichkeit an - ist ja trotzdem eine Top Sache :+1:

#8

Wie gesagt man kann das sicher in einen der Modi dazustricken. Nur als festen neuen Modus würde ich jetzt erstmal nicht damit rechnen.