我正在使用Raspberry Pi 3做一個DIY項目,我需要使用omxplayer播放4個視頻。如何使用Python殺死Raspberry Pi上的omxplayer播放器
一旦你按下面包板某個按鈕每個視頻播放:
- 按下按鈕1 - 播放視頻1個
- 按下按鈕2 - 播放視頻2
- 按鈕3 - 播放視頻3
- 按按鈕4 - 播放視頻4
我成功打4個視頻時,我按下任何按鈕使用以下python代碼:
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運行時按下任何按鈕,則什麼也不會發生。我想要實現的是,只要按下原型板上的任何按鈕,omplayer就應該停止複製任何視頻(如果有任何播放)並開始新視頻。
我讀過一些關於殺omxplayer使用PIPE就像他們在下面的鏈接,但沒有成功說:
How can I kill omxplayer by Python Subprocess
任何幫助將不勝感激
謝謝Matz!儘管上面的代碼沒有按預期工作。它把我帶到另一個正常工作的解決方案。 – Iker