get_busy - pygame python
Python: ¿Toca música en el fondo? (2)
Actualmente estoy haciendo un juego en Python. No estoy usando PyGame, solo la consola (no GUI). Cuando comienzas el juego, obtienes el logo del juego y mucha información sobre el "viaje" que acabas de iniciar. Hay mucho texto, así que mientras el texto se desplaza, quiero que se reproduzca una canción en segundo plano.
Empiezo la música con el siguiente código:
def new_game():
import winsound
winsound.PlaySound("intro.wav", winsound.SND_ALIAS)
LVL1_INTRO()
El único problema es que no continuará en LVL1_INTRO () hasta que la música haya dejado de reproducirse. Es un problema, ya que la música dura aproximadamente de 1 a 2 minutos.
¿Hay alguna forma de arreglar esto? Después de que la música haya comenzado, continuará con LVL1_INTRO ()
Si es posible, me gustaría si también hay un código para detener la música, así que no necesito comenzar a cortar la música, y hacerlo exactamente del mismo largo que la introducción.
¡Muchas gracias!
De acuerdo con la documentación , usa el indicador SND_ASYNC.
winsound.SND_ASYNC
Return immediately, allowing sounds to play asynchronously.
Para detener la reproducción, llame a PlaySound
con un argumento NONE
.
winsound.PlaySound(None, winsound.SND_ASYNC)
No tengo experiencia con este módulo, pero parece que puedes reproducir sonidos de forma asíncrona. Vea http://docs.python.org/2/library/winsound.html y mire SND_ASYNC.