NEWS
Mehrere MP3 parallel abspielen + einzelne stoppen
-
Hallo miteinander,
ich betreibe als Slave einen alten Rapsberry PI, an dem über 3,5 Klinke ein Lautsprecher angeschlossen ist. Auf dem Lautsprecher möchte ich nun Töne ausgeben (MP3).
Die Besonderheit liegt nun daran, dass ich mehrere MP3 zeitgleich ausgeben muss. Welche MP3 und zur welcher Zeit abgespielt werden sollen hängt von den äußeren Faktoren ab (Tastendrücke). Weiterhin kann es passieren, dass eine laufende MP3 wieder gestoppt werden soll, die anderen aber weiterhin abgespielt werden müssen.An dem konkreten Beispiel erklärt:
die Kinderküche soll interaktiv werden (eher eine Spielerei für Papa als für das Kind). Mehrere LED Streifen, Taster, Türkontakte sind verbaut und es funktioniert erstmal. Aber nun zu den Geräuschen:- Taster 1 schaltet die "Mikrowelle" ein (Mikrowellengeräusch soll abgespielt werden)
- Taster 2 schaltet die "Abzugshaube" ein (Ventilatorgeräusch soll abgespielt werden, parallel zu der Mikrowelle)
- Tür an der Mikrowelle wurde geöffnet (Türsensor), dadurch soll das Mikrowellengeräusch sofort unterbrochen werden, Ventilator soll weiterhin zu hören sein.
Ich habe mit Sayit ein wenig rumprobiert. Das ist für meine Zwecke wohl in mehreren Punkten nicht geeignet? Mehrere MP3 gleichzeitig abzuspielen habe ich nicht probiert, da ich schon Probleme bei 1 MP3 hatte (wird sehr verzögert abgespielt (>30Sek)). Ich sehe aber auch keine Möglichkeit ein bestimmtes MP3 wieder zu stoppen.
Zu Projektbeginn (noch ohne ioBroker) habe ich mit Python es umsetzen können (pygame, zu jeder MP3 einen Channel angelegt der separat steuerbar ist). Dieses Skript aber nun mit ioBroker zu verheiraten halte ich für noch komplexer.
Welche Möglichkeiten hätte ich noch?
-
Ich habe es nun so gelöst, dass ich mit ioBroker in einer lokale Datei schreibe, welche MP3 gestartet/gestoppt werden soll.
Auf dem RaspPI läuft ein Python Skript, der das Vorhandensein der Datei immer wieder prüft (in 10ms Abständen), den Inhalt ausliest und die Datei wieder löscht. Der Inhalt wird ausgewertet und mit pyGame wiedergegeben.
Funktioniert soweit, ABER: ich bekomme teilweise Verzögerungen von einigen Sekunden, was so nicht zielführend ist. Man drückt auf eine Taste und erst einige Sekunden später ertönt der passende Ton.Hat jemand eine Idee, wie man das sonst lösen kann oder woher die Verzögerung kommen könnte?
-
Hallo,
ich habe über Jahre Musik auf dem Raspberry Pi mittels mpd über mpc abgespielt. Die Verzögerungen waren da nicht so lang. Pygame kenne ich nicht. Allgemein wird Musik erst gepuffert und erst mit vollem Puffer startet das abspielen. Bei mpd lässt sich die Puffergröße einstellen.
-
@peterfido Ich danke Dir vielmals!!! Daran habe ich gar nicht gedacht...
Ich habe den Puffer nun reduziert und es wurde deutlich besser und ist nun endlich vernünftig nutzbar.
Vielen Dank!