omxplayer和omxplayerd.py - 这个脚本有什么问题?

时间:2014-06-30 14:01:47

标签: python raspberry-pi

我一直试图让this little program使用我的Debian Wheezy Raspberry Pi,但我遇到了一些麻烦。

我试图创建一个简单易用的用于播放视频的GUI - 这很完美 - 但是当视频文件播放时,它们不会暂停,停止,快进等等

我认为问题出在这里:

def omx_send(data):
    subprocess.Popen('echo -n '+data+' >'+re.escape(OMXIN_FILE),shell=True)
    return 1

首先启动视频播放器omxplayer的部分。我觉得这与stdoutstdin的错误处理有关,但正如我所说,我没有真正的想法。

def omx_play(file):
    #omx_send('q')
    #time.sleep(0.5) #Possibly unneeded - crashing fixed by other means.
    subprocess.Popen('killall omxplayer.bin',stdout=subprocess.PIPE,shell=True)
    subprocess.Popen('clear',stdout=subprocess.PIPE,shell=True)
    subprocess.Popen('omxplayer -o hdmi '+os.path.join(MEDIA_RDIR,re.escape(file))+' <'+re.escape(OMXIN_FILE),shell=True)
    omx_send('.')
    return 1

我不知道足够的Python来弄清楚发生了什么。

据我所见,数据正确传递给omx_send,当其中一个非工作按钮(如暂停)被按下时,终端会报告:

"HTTP/1.1 GET /pause" - 200 OK

我有什么想法来解决这个问题?我所需要的只是让各种小按钮工作,它是易于使用的软件。

干杯。

1 个答案:

答案 0 :(得分:0)

您可以使用omxplayer附带的基于DBUS的shell脚本。

https://github.com/popcornmix/omxplayer/blob/master/dbuscontrol.sh