我目前正在使用sox将效果应用于音频文件并播放该文件。目前我有代码设置来创建一个新的子进程来按下按钮1时播放文件,并在按下按钮2时终止进程。
我想要做的是更改它,以便如果多次按下按钮1,它将检查以前的进程是否处于活动状态,如果是,则将其杀死,如果没有,则只是正常播放。
截至目前我的代码是:
def Button_1():
p = subprocess.Popen(['play','playback.wav'])
def Button_2():
p.send_signal(signal.SIGNIT)
答案 0 :(得分:0)
使用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)