我正在使用 Raspberry Pi 3 做一个 DIY 项目,我需要使用 omxplayer 播放 4 个视频。
一旦您按下原型板上的某个按钮,就会播放每个视频:
- 按下按钮 1 - 播放视频 1
- 按下按钮 2 - 播放视频 2
- 按下按钮 3 - 播放视频 3
- 按下按钮 4 - 播放视频 4
每当我使用以下 python 代码按下任何按钮时,我都会成功播放 4 个视频:
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM) # Declaramos que los pines seran llamados como numeros
GPIO.setwarnings(False)
GPIO.setup(4, GPIO.IN) # GPIO 7 como entrada
GPIO.setup(17, GPIO.IN) # GPIO 17 como entrada
GPIO.setup(27, GPIO.IN) # GPIO 27 como entrada
GPIO.setup(22, GPIO.IN) # GPIO 22 como entrada
pathVideos = "/home/pi/VideoHD/Belen" # Directorio donde se encuentran los videos en HD
def reproducirVideos(nameVideo):
command = "omxplayer -p -o hdmi %s/%s.mp4" % (pathVideos,nameVideo)
os.system(command)
print "Reproduciendo el Video: %s " % nameVideo
def programaPrincipal():
print("Inicio")
while True:
if (GPIO.input(4)):
print("Iniciando Video: AMANECER")
reproducirVideos("amanecer")
elif (GPIO.input(17)):
print("Iniciando Video: DIA")
reproducirVideos("dia")
elif (GPIO.input(27)):
print("Iniciando Video: ATARDECER")
reproducirVideos("atardecer")
elif (GPIO.input(22)):
print("Iniciando Video: ANOCHECER")
reproducirVideos("anochecer")
else:
pass
print("Fin de programa")
GPIO.cleanup() #Limpiar los GPIO
programaPrincipal() #Llamamos a la funcion blinkLeds para ejecutar el programa
这是我的问题。
当我按下一个按钮(例如按钮 1)时,整个视频 1 开始在屏幕上正常播放。如果我在 video1 运行时按下任何按钮,则不会发生任何事情。我想要实现的是,每当我按下原型板上的任何按钮时,omxplayer 都应该停止再现任何视频(如果正在播放)并开始一个新的。
我已经阅读了一些关于使用 PIPE 杀死 omxplayer 的内容,就像他们在以下链接中所说的那样,但没有成功:
任何帮助将不胜感激