我正在尝试使用omxplayer创建一个Python程序来播放视频。我有一系列.mp4文件,它们将构成虚拟机器人的可视前端。我希望能够循环播放等待事情发生的事情。视频,然后当某些事情发生时(运动检测或某事),第二个视频将播放,循环视频将暂停。我希望新视频能够在暂停的视频之上播放。
我一直试图使用dbuscontrol.sh来控制它,但显然你不能用它来播放omxplayer的并发会话。我也试过dbuscontrolm.sh这是一个允许多次出现omxplayer的修改版本。
以下是我一直在尝试的一些代码的一个版本(我是Python初学者)。
#!/usr/bin/env python
import dbus
import subprocess
from subprocess import Popen
import time
def play_vid_wait_loop():
command1 = 'omxplayer --win "100 100 500 500" --dbus_name "org.mpris.MediaPlayer2.omxplayer1" --layer 5 /home/pi/My_Projects/Hammerstein/Vid_Wait_Loop.mp4'
Popen([command1], shell=True)
subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer1 play'], shell=True)
time.sleep(5)
subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer1 stop'], shell=True)
def play_vid_recharge_power_supply():
command2 = 'omxplayer --win "100 100 500 500" --dbus_name "org.mpris.MediaPlayer2.omxplayer2" --layer 6 /home/pi/My_Projects/Hammerstein/Vid_Recharge_Power_Supply.mp4'
Popen([command2], shell=True)
subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer2 play'], shell=True)
time.sleep(5)
subprocess.call(['dbuscontrolm.sh org.mpris.MediaPlayer2.omxplayer2 stop'], shell=True)
play_vid_wait_loop()
play_vid_recharge_power_supply()