使用vlc绑定在python中播放和更改Internet流

时间:2019-12-15 10:29:48

标签: python vlc

对于Python还是一种新东西,但是我认为我最好从一个项目开始学习。

我有一个RPi Zero(树莓派)零头运行,它带有5个物理按钮(A-E)和python库的所谓的按钮垫片。 我想使用这些按钮来为一个小型Internet广播项目运行不同的广播流。

我已经提供了代码示例。

当我运行脚本并按下按钮A时,流开始播放。当我按下按钮B时,另一个流同时播放。如何取消上一个过程?

用例是,有时我会先按B,然后稍后再更改为A,或者相反。

import buttonshim
import subprocess
import vlc

# Button A
@buttonshim.on_release(buttonshim.BUTTON_A)
def button_a(button, pressed):
os.killpg(proc.pid, signal.SIGTERM)
proc=subprocess.Popen(["cvlc", "http://live-icy.gss.dr.dk/A/A03H.mp3.m3u"], shell=False)

# Button B
@buttonshim.on_release(buttonshim.BUTTON_B)
def button_a(button, pressed):
os.killpg(proc.pid, signal.SIGTERM)
proc=subprocess.Popen(["cvlc", "http://live-icy.gss.dr.dk/A/A03H.mp3.m3u"], shell=False)

通过尝试杀死正在运行的子进程,我收到一条错误消息,因为在运行第一个命令时没有proc。也许我需要一个if参数来检查是否实际上正在运行任何子进程?还是我应该以不同的方式对待整个项目?

0 个答案:

没有答案