mplayer-therad-umschaltung mit Taster aus C heraus !?
Ich möchte ein sehr simples Internetradio in C "bauen", das nur aus einem Taster am RPI besteht.
Dazu habe ich das folgende Programm geschrieben, das aus dem "Autostart" /etc/rc.local auch
gut läuft, aber eben nur mit der ertsne Radiostation radio1.pls .
Die Taster-Abfrage wird natürlich gar nicht erst durchgeführt, da das Programm im mplayer
festhängt (eine Tastatur für ^C soll nicht angeschlossen werden).
Wie kann ich (bin Linux- und RPI-Laie) einfach ohne jahrelanges Studium von Multithreading o.ä.
(Thread-Tippfehler im Thread-Titel ;) )
das Ganze mit der Programmweiterschalttaste zum Laufen bekommen (vielleicht kann jemand
sogar den Quelltext posten, wenn das nicht doch viel zu kompliziert ist) ?
Code:
#include <wiringPi.h>
#include <stdio.h>
int main() {
pinMode(5, INPUT);
while(1) {
system ("mplayer -playlist /home/pi/mplay/radio1.pls");
if(digitalRead(5)==1)
system ("mplayer -playlist /home/pi/mplay/radio2.pls");
if(digitalRead(5)==1)
system ("mplayer -playlist /home/pi/mplay/radio3.pls");
if(digitalRead(5)==1)
system ("mplayer -playlist /home/pi/mplay/radio4.pls");
if(digitalRead(5)==1)
system ("mplayer -playlist /home/pi/mplay/radio5.pls");
if(digitalRead(5)==1)
system ("mplayer -playlist /home/pi/mplay/radio6.pls");
}
}
So einfach kann das sein ...
Danke an "hirnfrei" für den Tip mit dem & .
Klappt super!
(Man sollte eben nicht den ganzen Tag vor dem Windows-Rechner hängen sondern sich bei Zeiten auch
einmal in die Linux-Kommadozeilenoptionen einarbeiten...).
Und wenn der Audiobuffer nur temporär gespeichert wird und beim Neustart wieder leer ist,
sollte ja auch die SD-Karte auf Dauer nicht vollgeschrieben werden (werde das dauerhafte Verhalten beobachten;
Das was ich mit den Python-Scripten gefunden habe ist mir dann doch zu kompliziert; kann ja nur ansi-C ).