检查子进程的状态以杀死python中的音频播放
问题描述:
Im当前正在使用sox将效果应用于音频文件并播放文件。目前,我的代码被设置为创建一个新的子流程,以在按下按钮1时播放文件,并在按下按钮2时终止流程。检查子进程的状态以杀死python中的音频播放
我想要做的就是改变它,以便如果按钮1被多次按下,它将检查以前的过程是否是活动的,如果是的话就杀了它,如果没有,那么就照常玩。
我以现在的代码是:
def Button_1():
p = subprocess.Popen(['play','playback.wav'])
def Button_2():
p.send_signal(signal.SIGNIT)
答
使用p.poll()
检查,如果进程仍在运行。
的代码看起来像这样(未经):
def Button_1():
if p.poll():
p.send_signal(signal.SIGNIT)
else:
p = subprocess.Popen(['play','playback.wav'])
def Button_2():
p.send_signal(signal.SIGNIT)