<div dir="ltr"><div><div><div><div>Hola Diego, usa una variable de instancia en tu clase para que sirva de bandera, por ejemplo:<br><br></div>class Algo:<br><br></div> def __init__(self):<br></div> self.flag_presionar_btn = False<br><br></div> def btn_mi_clicked(self):<br> self.flag_presionar_btn = True<br> pygame.mixer.music.stop()<br> <br> while True:<br> pygame.mixer.init()<br> pygame.mixer.music.load("mi.<div>mp3")<br> pygame.mixer.music.play()<br> time.sleep()<br> pygame.mixer.music.stop()<br><br> if not self.flag_presionar_btn:<br></div><div> break<br><br><br></div><div>No se si queda claro, espero te sirva, saludos!<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 3 de diciembre de 2014, 14:24, Diego Caraballo <span dir="ltr"><<a href="mailto:dcaraballo@amsj.com.uy" target="_blank">dcaraballo@amsj.com.uy</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div style="font-family:Verdana,Geneva,sans-serif">
<p>Gracias por tu respuesta Flavio, con info de tu página fue que opte utilizar pygame para el sonido de la aplicación :).</p>
<p>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? </p>
<p>Saludos</p>
<p>El 2014-12-03 09:12, Flavio Danesse escribió:</p><div><div class="h5">
<blockquote type="cite" style="padding-left:5px;border-left:#1010ff 2px solid;margin-left:5px">
<div dir="ltr">Tienes que eliminar el while.
<div>Solo carga el archivo y hazle play.</div>
<div>Toma en cuenta que con pygame puedes reproducir hasta ocho sonidos a la vez.</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">El 3 de diciembre de 2014, 2:43, Diego Caraballo <span><<a href="mailto:dcaraballo@amsj.com.uy" target="_blank">dcaraballo@amsj.com.uy</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span style="text-decoration:underline"></span>
<div style="font-family:Verdana,Geneva,sans-serif">
<div>Buenas noches gente, estoy tratando de hacer una GUI (<strong>pyqt4</strong>) 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 <strong>pygame</strong> para reproducir el sonido.</div>
<div>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.</div>
<div>Creo que estoy teniendo el mismo problema que este señor: <a href="https://mail.python.org/pipermail/tkinter-discuss/2013-June/003451.html" target="_blank">https://mail.python.org/pipermail/tkinter-discuss/2013-June/003451.html</a></div>
<div>Alguno sabría como matar el evento? o hacer que el evento se ejecute en segundo plano y me deje seguir presionando otros botones?</div>
<div>Les dejo una de las funciones a llamar:</div>
<div> </div>
<div>def btn_mi_clicked(self):<br><br> pygame.mixer.music.stop()<br> <br> while True:<br> pygame.mixer.init()<br> pygame.mixer.music.load("mi.mp3")<br> pygame.mixer.music.play()<br> time.sleep()<br> pygame.mixer.music.stop()<br>
<div> </div>
<div>Desde ya muchas gracias</div>
<div> </div>
<div> </div>
<div>Diego Caraballo</div>
<span><span style="color:#888888"><a href="http://www.pythondiario.com" target="_blank"><strong>www.pythondiario.com</strong></a></span></span></div>
</div>
<br>_______________________________________________<br> Python-es mailing list<br><a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br><a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br> FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br><br></blockquote>
</div>
</div>
<br>
<pre>_______________________________________________
Python-es mailing list
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a>
</pre>
</blockquote>
<p> </p>
</div></div><span class="HOEnZb"><font color="#888888"><div>-- <br>
<p style="text-align:left">Departamento de TI - AMSJ Coop.</p>
<p style="text-align:left">Diego Caraballo</p>
<p style="text-align:left">Cel: <a href="tel:091425426" value="+59891425426" target="_blank">091425426</a></p>
<p><img src="http://www.amsj.com.uy/internal/ppamsj.jpg" alt="logo" align="bottom" border="0" hspace="0"></p>
</div>
</font></span></div>
<br>_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org">Python-es@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-es" target="_blank">https://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Gabriel Fernández<br>Desrrollador Web<br><a href="http://www.openweb.com.uy" target="_blank">www.openweb.com.uy</a> <br><img src="http://www.openweb.com.uy/imagenes/logo-OPENWEB.jpg" height="39" width="420"><br></div>
</div>