Hola Diego, usa una variable de instancia en tu clase para que sirva de bandera, por ejemplo:
class Algo: def __init__(self): self.flag_presionar_btn = False def btn_mi_clicked(self): self.flag_presionar_btn = True pygame.mixer.music.stop() while True: pygame.mixer.init() pygame.mixer.music.load("mi. mp3") pygame.mixer.music.play() time.sleep() pygame.mixer.music.stop() if not self.flag_presionar_btn: break No se si queda claro, espero te sirva, saludos! El 3 de diciembre de 2014, 14:24, Diego Caraballo <dcaraba...@amsj.com.uy> escribió: > Gracias por tu respuesta Flavio, con info de tu página fue que opte > utilizar pygame para el sonido de la aplicación :). > > Esto creo que ya lo había probado, funciona si, pero la idea era que la > nota se repitiera hasta que otro botón fuera presionado (por eso quise > implementar el while, y por eso la función arranca > con pygame.mixer.music.stop() para detenr el sonido y arrancar uno nuevo). > Quizá tenga que echar un poco de mano a los eventos de pygame? > > Saludos > > El 2014-12-03 09:12, Flavio Danesse escribió: > > Tienes que eliminar el while. > Solo carga el archivo y hazle play. > Toma en cuenta que con pygame puedes reproducir hasta ocho sonidos a la > vez. > > El 3 de diciembre de 2014, 2:43, Diego Caraballo <dcaraba...@amsj.com.uy> > escribió: > >> Buenas noches gente, estoy tratando de hacer una GUI (*pyqt4*) con >> algunos botones que reproduzcan sonidos (notas musicales). La idea es que >> cada ves que se presione un botón, se reproduzca la nota y se repita hasta >> que otra nota sea presionada. Estoy utilizando *pygame* para reproducir >> el sonido. >> El problema surge cuando presiono la nota, al entrar en el while el >> programa no deja hacer más nada, sigue reproduciendo la nota y se cuelga. >> Creo que estoy teniendo el mismo problema que este señor: >> https://mail.python.org/pipermail/tkinter-discuss/2013-June/003451.html >> Alguno sabría como matar el evento? o hacer que el evento se ejecute en >> segundo plano y me deje seguir presionando otros botones? >> Les dejo una de las funciones a llamar: >> >> def btn_mi_clicked(self): >> >> pygame.mixer.music.stop() >> >> while True: >> pygame.mixer.init() >> pygame.mixer.music.load("mi.mp3") >> pygame.mixer.music.play() >> time.sleep() >> pygame.mixer.music.stop() >> >> Desde ya muchas gracias >> >> >> Diego Caraballo >> *www.pythondiario.com* <http://www.pythondiario.com> >> >> _______________________________________________ >> Python-es mailing list >> Python-es@python.org >> https://mail.python.org/mailman/listinfo/python-es >> FAQ: http://python-es-faq.wikidot.com/ >> >> > _______________________________________________ > Python-es mailing > listPython-es@python.orghttps://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > > -- > > Departamento de TI - AMSJ Coop. > > Diego Caraballo > > Cel: 091425426 > > [image: logo] > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Gabriel Fernández Desrrollador Web www.openweb.com.uy
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/