2016-09-26 8 views
0

В настоящее время я использую sox для применения эффектов к звуковому файлу и воспроизведения файла. В настоящее время у меня установлен код для создания нового подпроцесса для воспроизведения файла при нажатии кнопки 1 и уничтожении процесса при нажатии кнопки 2.Проверить статус подпроцесса, чтобы убить воспроизведение звука в python

Что я хочу сделать, это изменить его так, чтобы при нажатии кнопки 1 несколько раз он будет проверять, активен ли предыдущий процесс, и если это так убить, а если нет, тогда просто играйте как обычно.

Мой код как сейчас является:

def Button_1(): 
    p = subprocess.Popen(['play','playback.wav']) 

def Button_2(): 
    p.send_signal(signal.SIGNIT) 

ответ

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)