2016-09-26 1 views
0

Im actuellement en utilisant sox pour appliquer des effets à un fichier audio et lire le fichier. Actuellement, j'ai le jeu de code pour créer un nouveau sous-processus pour lire le fichier lorsque le bouton 1 est pressé et pour tuer le processus lorsque le bouton 2 est enfoncé. Ce que je veux faire est de le changer de sorte que si le bouton 1 est pressé plusieurs fois, il vérifiera si un processus précédent est actif et, si c'est le cas, le tue et sinon, jouez normalement.Vérifier l'état du sous-processus pour tuer la lecture audio en python

Mon code est maintenant au:

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

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

Répondre

0

Utilisez p.poll() pour vérifier si le processus est toujours en cours.

Le code ressemblera à quelque chose comme ça (non testé):

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)