调用omxplayer后在python代码中继续

时间:2017-12-12 14:03:48

标签: python

我正在尝试在覆盆子pi上编写一个带有python的程序,当按下按钮时,会播放一个音频文件。我尝试了各种运行omxplayer然后正确关闭它的方法,但似乎都没有。我的代码目前如下:

driver.switch_to.frame("iframe_name")
//frame tasks
driver.switch_to.default_content()
driver.get("https://www.google.com")

目前,我在a.stdin.write('q)行收到错误:

import RPi.GPIO as GPIO
import time
from time import sleep
import subprocess
BUTTON = 15
GPIO.setmode(GPIO.BCM)
GPIO.setup(BUTTON, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
while True:
    if (GPIO.input(BUTTON)==True):
        a = subprocess.Popen(['omxplayer', '-o', 'local', '*.mp3'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=True)
        sleep(1)
        a.stdin.write('q')
    if (/exit process/):
        #exit process

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

尝试:

a.send_signal(signal.SIGINT)

a.send_signal(signal.SIGTERM)

而不是a.stdin.write('q')行。

错误是因为您正在使用python3并且可以使用以下方法修复:

a.stdin.write(b'q')