ich habe irgendwie einen Denkfehler !
Code: Alles auswählen
import subprocess
import sys
import os
args = "/usr/bin/mplayer -slave -vo gl2 -ao alsa -really-quiet -nolirc /home/kernelman/Filme/test.mpg"
commands = {"?" : "list commands",
"1" : "loadfile '/home/kernelman/Filme/test.mpg'",
">" : "seek 5",
"<" : "seek -5",
"q" : "quit",
"p" : "pause",
"m" : "mute",
"%" : "get_percent_pos",
"l" : "get_time_length",
"t" : "loadlist test.m3u"}
class Mplayer:
def __init__(self):
self.mplayer = None
self.main()
def _get_mplayer(self):
if self.mplayer is None:
self.mplayer = subprocess.Popen(args, stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell=True)
print "Mplayer gestartet"
return self.mplayer
def get_command(self):
line = sys.stdin.readline().strip()
return line
def main(self):
mplayer = self._get_mplayer()
line = None
while mplayer:
if line == "?":
for key, command in commands.iteritems():
print "%3s: %s" % (key, command)
elif line == "q":
print "sende %s" %("quit" + "\n")
mplayer.stdin.write("quit" + "\n")
mplayer.stdin.flush()
break
elif commands.has_key(line):
print "sende %s" %(commands[line] + "\n")
mplayer.stdin.write(commands[line] + "\n")
mplayer.stdin.flush()
line = None
if mplayer.stdout:
print "out ist da"
print "activ"
line = self.get_command()
player = Mplayer()
Sobald ich stdout abfrage ist keine eigabe mehr möglich.
Habe schon alles gegoogelt, nur ein vernünftiges Ergebnis habe ich leider nicht gefunden.
Ich steh voll auf dem Schlauch.(gagagagaga)