2016-11-04 81 views
1

我想在我的rpi3上使用python腳本控制omxplayer,我調用subprocess.Popen並控制它(例如,播放/暫停,增大/減小音量,等等)。我應該寫一個字符到標準輸入(例如,p,+/-等),字符在send_signal中作爲變量文本傳遞,使用通信我無法控制它,有沒有更好的方法?發送一個字符到subprocess.Popen

編輯:另外player.stdin.write(text); player.stdin.flush()不起作用。

def start_music(): 
    player = subprocess.Popen(['omxplayer', songs[0]], stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT) 
    return player 

def send_signal(player, text): 
    player.communicate(text.encode('utf-8')) 
    player.stdin.close() 

貓-e代替omxplayer輸出試圖爲:

why_dont_you work 
test_input 
test_input$ 
test_input2 
test_input2$ 
a 
a$ 

注意,第一線不知何故沒有再次顯示

+0

omxplayer是GUI還是命令行程序? –

+0

@NickT在命令行 – kknickkk

+0

你試過'player.stdin.write(text); player.stdin.flush()'? –

回答

0

需要指明的是你傳遞的是輸入變量即

def send_signal(player, text): 
    player.communicate(input=text.encode('utf-8')) 
    player.stdin.close() 
相關問題