Módulo de pygame para controlar la reproducción de música.
El módulo music está muy relacionado con el módulo pygame.mixer
. Use
el módulo music para controlar la reproducción de música en el módulo
mixer.
La diferencia entre la reproducción de música y la reproducción de un sonido es que la música se reproduce mientras se carga, y nunca se carga completamente de una vez. El módulo mixer soporta solamente la reproducción de una música a la vez.
Carga un archivo de música para reproducir.
pygame.mixer.music.load(filename): return None
Cargará el archivo de música y lo preparará para reproducir. Se detendrá cualquier música si se estaba reproduciendo. Esta función no comenzará a reproducir la música.
Tenga en cuenta que la música solo se puede cargar a partir del nombre
de un archivo, no se puede cargar desde objetos file
como las otras
funciones para cargar recursos de pygame.
Comienza a reproducir un flujo de música.
pygame.mixer.music.play(loops=0, start=0.0): return None
Reproducirá la música que se ha cargado. Si la música ya estaba sonando entonces se reiniciará.
El argumento loops
controla el número de veces que se debe reproducir
la canción. Por ejemplo, play(5)
causará que la canción suene
una vez y luego se repita 5 veces; es decir, unas 6 veces. Si el argumento
loop
vale -1 se repetirá la reproducción indefinidamente.
El argumento de posición start
controla a partir de donde comenzará
a reproducirse. La posición de inicio depende del formato de música utilizado.
Los formatos MP3 y OGG utilizan la posición como tiempo medido en
segundos. La música en formato MOD usará start
como el número de patrón. Si
no se puede definir la posición de inicio se lanzará la excepción NotImplementedError
.
Reinicia la música.
pygame.mixer.music.rewind(): return None
Reinicia la reproducción de la música actual para iniciar desde el principio.
Detiene la reproducción de música.
pygame.mixer.music.stop(): return None
Detiene la reproducción de música si se está reproduciendo.
Detiene de forma temporal la reproducción.
pygame.mixer.music.pause(): return None
Detiene de forma temporal la reproducción de música. Con la
función pygame.mixer.music.unpause()
puede continuar la
reproducción.
Continúa reproduciendo una canción en pausa.
pygame.mixer.music.unpause(): return None
Continúa la reproducción de una canción luego de que esta se ha pausado.
Detiene la reproducción de música luego de reducir su volumen.
pygame.mixer.music.fadeout(time): return None
Detendrá la reproducción de música luego de haber reducido el volumen en el tiempo especificado (en milisegundos).
Note que esta función puede bloquear el programa mientras altera el volumen.
Define el volumen de la música.
pygame.mixer.music.set_volume(value): return None
Define el volumen de la reproducción de música. El argumento value
es un número entre 0.0 y 1.0. Se redefine el nivel de volumen cuando
se carga una nueva música.
Obtiene el volumen de la música.
pygame.mixer.music.get_volume(): return value
Retorna el volumen actual para el mezclador. El valor debe estar entre 0.0 y 1.0.
Consulta si se está reproduciendo música.
pygame.mixer.music.get_busy(): return bool
Retorna True
cuando se está reproduciendo música. Retornará
False
si el módulo está desocupado.
Obtiene el tiempo de reproducción.
pygame.mixer.music.get_pos(): return time
Obtiene el número de milisegundos desde que el módulo ha comenzado a reproducir música. El tiempo que se retorna solo representa cuanto tiempo a estado reproduciendo música, este valor no tiene en cuenta cualquier desplazamiento de posición inicial.
Pone en cola un archivo de música para seguir al actual.
pygame.mixer.music.queue(filename): return None
Esta función carga un archivo de música y lo pone en una cola. Un archivo que se encuentra en la cola comenzará a sonar cuando la música actual termine normalmente. La cola de canciones se perderá si la música actual se interrumpe o intercambia.
El siguiente ejemplo reproducirá una canción de Bach seis veces y luego reproducirá una de Mozart:
pygame.mixer.music.load('bach.ogg') pygame.mixer.music.play(5) # Reproduce 6 veces, no 5. pygame.mixer.music.queue('mozart.ogg')
Hace que el módulo envíe un evento cuando la reproducción termine.
pygame.mixer.music.set_endevent(): return None pygame.mixer.music.set_endevent(type): return None
Esta función hace que pygame emita una señal (con ayuda de la cola de eventos) cuando el módulo termine de reproducir. El argumento determina que tipo de evento se quiere emite.
El evento se emitirá cada vez que una canción termine, no solo la primera vez. Para anular la emisión de eventos llame a esta función sin argumentos.
Obtiene el evento que un canal emite cuando termina de reproducir.
pygame.mixer.music.get_endevent(): return type
Retorna el tipo de evento que será enviado cada vez que el
módulo termine de reproducir. La función retornará pygame.NOEVENT
si no hay un evento asociado.