Nebenprogramm öffnen und Kommunikation mit Nebenprogramm
Verfasst: Dienstag 28. März 2017, 06:17
Hallo,
seit ein paar Tagen versuche ich madplay so zu konfigurieren, dass ich die Möglichkeit habe es im Python Script aufzurufen um dann die gewünschten Einstellungen vornehmen zu können.
Am Anfang habe ich es mit:
aufgerufen. Da dadurch das Python Script angehalten wird, habe ich diese Version genommen:
Nun läuft das Python Script wenigstens weiter, jedoch gibt es jetzt Probleme das Programm wieder zu schließen.
Ich habe gelesen, dass man nicht verwenden soll, jedoch funktioniert es ohne dem nicht.
Da ich über die madplay Befehle, die Wiedergabe schließen kann, wäre meiner Meinung nach die eleganteste Lösung, über Befehle den Unterprozess zu steuern.
In der Konsole kann ich alles hintereinander eingeben. Ich gehe mal davon aus, dass ich nicht mehrmals hintereinander den Befehl benutzen kann, da er dann immer einen neuen Unterprozess erstellt.
Dann gibt es die möglichkeit über:
Genau an diesem Punkt hänge ich momentan fest. Ist gleichzusetzen mit einer Eingabe im Terminal oder gibt es bessere Lösungen für diesen Fall?
Funktion(kurz Zusammengefasst):
Das Unterprogramm soll die Internetradioadresse abspielen und man soll dabei die Möglichkeit haben, dass Unterprogramm mit Befehlen zu füttern, um gegebenenfalls Einstellungen zu ändern oder das Programm zu schließen.
Befehle madplay: https://man.cx/madplay(1)
seit ein paar Tagen versuche ich madplay so zu konfigurieren, dass ich die Möglichkeit habe es im Python Script aufzurufen um dann die gewünschten Einstellungen vornehmen zu können.
Am Anfang habe ich es mit:
Code: Alles auswählen
os.system('wget -q -O- '+str(fav_adress[1])+' | madplay -')
Code: Alles auswählen
internetradio_adress = subprocess.Popen(['wget -q -O- '+str(fav_adress[1])+' | madplay -'], shell=True)
Ich habe gelesen, dass man
Code: Alles auswählen
shell=True
Code: Alles auswählen
shell=True
Da ich über die madplay Befehle, die Wiedergabe schließen kann, wäre meiner Meinung nach die eleganteste Lösung, über Befehle den Unterprozess zu steuern.
In der Konsole kann ich alles hintereinander eingeben. Ich gehe mal davon aus, dass ich nicht mehrmals hintereinander den Befehl
Code: Alles auswählen
subprocess.Popen
Dann gibt es die möglichkeit über:
Code: Alles auswählen
internetradio_adress = subprocess.Popen(['wget -q -O- '+str(fav_adress[1])+' | madplay -'], stdin=subprocess.PIPE, shell=True)
internetradio_adress.communicate('BefehlAusListe')
Code: Alles auswählen
.communicate()
Funktion(kurz Zusammengefasst):
Das Unterprogramm soll die Internetradioadresse abspielen und man soll dabei die Möglichkeit haben, dass Unterprogramm mit Befehlen zu füttern, um gegebenenfalls Einstellungen zu ändern oder das Programm zu schließen.
Befehle madplay: https://man.cx/madplay(1)