2017-03-18 51 views
0

我的問題是我想在後臺運行mpg123並播放/暫停mp3文件。通過Python中的子進程暫停mpg123

我開這樣的子過程:

player = subprocess.Popen(["mpg123", "alarm.mp3", "-C"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) 

然而,當我嘗試暫停mpg123的與

player.stdin.write("s") 

它只返回它基於字符串的長度數(這種情況下:1)

---> Screenshot

回答

0

實測值的問題!顯然你必須在每次輸入後刷新標準輸入。 工作代碼(注意,我切換到mplayer,因爲與mpg123它不起作用):

player = subprocess.Popen(["mplayer", "/music.mp3"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) 
time.sleep(10) 
player.stdin.write("pause") 
player.stdin.flush()