如何在不使用终端的情况下退出omxplayer?

时间:2015-05-04 20:14:45

标签: python raspberry-pi omxplayer

我已经使用Tkinter为Rasberry pi制作了一个应用程序启动器。我使应用程序启动器在x加载后自动启动

@ / usr / bin / sudo /home/pi/myscript.py / etc / xdg / lxsession / LXDE-pi / autostart。

为了从python脚本中启动应用程序,我正在使用子进程模块。相同的代码是:

subprocess.Popen('python /home/pi/script.py')
subprocess.Popen('scratch')
subprocess.Popen('omxplayer -o local /home/pi/video.mp4',shell=True)

现在发生的事情是所有进程都正常运行,即所有应用程序都完美启动,当我关闭应用程序时(使用关闭按钮或alt + f4)也正常运行。

但是omxplayer似乎处于全屏模式(虽然它没有覆盖我的整个屏幕)。那里没有关闭按钮。有些文档说有快捷键如q退出但也没有alt + f4也不起作用,而且因为我从我的python脚本(应用程序启动器)中启动它,我不能使用终端退出。

但是当我在终端内发起相同的视频时,q和alt + f4都正常工作(即我可以同时使用它们来退出omxplayer)。

所以任何人都可以解释为什么会发生这种情况以及如何在从python脚本中启动omxplayer时启用omitplayer的退出事宜?

2 个答案:

答案 0 :(得分:1)

omxPlayer不会在你的Xwindows上运行。它使用GPU直接在显示器上渲染自己。因为它不在Xwindows上运行,所以它不需要或没有任何关闭按钮。此外,当您启动此播放器时,它将成为您启动它的应用程序的活动窗口。

目前我正在使用另一个执行命令的并行应用程序并运行此

  

ps -ef | grep / usr / bin / omxplayer | grep -v grep | awk' {print $ 2}' | xargs kill -9

退出此命令。我正在努力寻找更好的解决方案。

答案 1 :(得分:0)

我有同样的问题,omxplayer在播放声音文件后往往会活着。我发现omxplayer往往会遇到某些TTY问题。选项omxplayer --no-keys your_sound_file.mp3 似乎在播放文件后使omxplayer退出。例如:

rssi