Ce que je souhaite à travers mon programme (un émulateur), c'est que quand il doit jouer deux sons successifs: si le premier son n'est pas terminé tandis que le deuxième commence, alors j'arrête le premier son et je commence à jouer le deuxième.
Pour cela j'ai fait le code suivant:
def jouer_son():
while len(lister_threads()) > 2:
del lister_threads()[0]
Thread(target=lambda: PlaySound("Son\Bip.wav",SND_FILENAME)).start()
(La fonction lister_threads porte en fait le nom de enumerate du module threading, mais je l'ai renommée pour ne pas la confondre avec la méthode itérative enumerate.)
Le code ci-dessus fonctionne, mais ralentit l'émulateur. Auriez-vous une méthode plus efficace ?
PS: J'ai essayé également avec Event et set du module threading, mais le résultat est le même.
- Edité par Anonyme 17 mars 2015 à 15:55:13
Thread pour jouer un son avec WinSound
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.