set_endevent get_busy python pygame music

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)