当Python脚本在后台运行时,mplayer不起作用

时间:2014-07-13 02:44:32

标签: python linux background-process mplayer

我有一个python脚本,用mplayer播放一些音频文件。 这就是我在代码中调用mplayer的方式:

subprocess.call(["mplayer","-msglevel","all=-1",audiofile])

如果我在前台运行脚本,它工作正常... 但是,如果我在背景中运行脚本,如

sudo python script.py &

我无法获得任何音频......为什么?如何解决?

1 个答案:

答案 0 :(得分:2)

根据Mplayer FAQ

  

问:如何在后台运行MPlayer?

     

答:使用:

  mplayer options filename < /dev/null &

在python中,使用stdin argument传递空文件。

import os
import subprocess

with open(os.devnull, 'wb') as nul:
    subprocess.call(['mplayer', '-msglevel', 'all=-1', audiofile], stdin=nul)