Tu estás aquí: ¡Bienvenido! » Traducciones » pygame » mixer
Usuario
Buscar páginas
Esta Pagina
General

mixer

Módulo de pygame para cargar y reproducir sonidos.

Este módulo contiene clases para crear objetos Sound y controlar la reproducción de audio. El módulo mixer es opcional y depende de SDL_mixer. Antes de usar este módulo su programa debería verificar si el módulo pygame.mixer está disponible.

El módulo mixer tiene un número limitado de canales para reproducir sonidos. Generalmente los programas le piden a pygame que comience a reproducir un sonido y pygame selecciona un canal de audio disponible de forma automática. Por defecto hay 8 canales simultáneos, aunque los programas complejos pueden obtener un control mas preciso de la cantidad de canales y utilizarlos.

Toda la reproducción de sonido se realiza en segundo plano (en hilos diferentes). Cuando comienza a reproducir un objeto Sound, esta llamada retornará inmediatamente mientras el sonido continúa sonando. Un objeto Sound también se puede reproducir varias veces.

El módulo mixer también tiene un canal de streaming que se utiliza para reproducir música y se accede a él a través del módulo pygame.mixer.music.

El módulo mixer se debe inicializar como los otros módulos de pygame, aunque tiene algunas condiciones adicionales. La función pygame.mixer.init() toma varios argumentos opcionales para controlar la frecuencia de reproducción. pygame colocará por defecto valores razonables, aunque no realizará conversión de frecuencias, por lo tanto mixer debería iniciarse para coincidir con la frecuencia y calidad de los recursos de audio.

Nota: Para no tener sonidos con pequeñas demoras, utilice un tamaño de buffer mas pequeño. El valor por defecto se ha seleccionado para reducir la posibilidad de sonidos a rasguños (como en los discos antiguos) en algunos equipos. Puede cambiar el valor por defecto del tamaño de buffer llamando a la función pygame.mixer.pre_init antes de llamar a pygame.mixer.init o pygame.init. Por ejemplo:

pygame.mixer.pre_init(44100,-16,2, 1024)

Note que el valor por defecto cambió de 1024 a 3072 en pygame 1.8.

init

Inicializa el módulo mixer.

pygame.mixer.init(frequency=22050, size=-16, channels=2, buffer=3072): return None

Inicializar el módulo mixer para cargar y reproducir sonido. Los valores por defecto de los argumentos se pueden reemplazar utilizando atributos de audio específicos. El argumento size representa cuantos bits se usarán para cada muestra de audio. Se usarán valores de muestra con signo si se especifica un valor negativo, en otro caso se usarán muestras de audio sin signo.

El argumento channels se usa para especificar cuando usar el modo estéreo y cuando el modo mono. 1 indica mono y 2 estéreo. No se permiten otros valores.

El argumento buffer controla el número de muestras internas que se usarán en el mezclador de sonido. El valor por defecto debería funcionar en la mayoría de los casos. Este valor se puede reducir para disminuir la latencia, aunque podría ocurrir una pérdida de calidad en el sonido. También se puede aumentar para asegurarse que la reproducción nunca se detenga, aunque esto impone latencia. El valor de buffer debe ser potencia de dos.

Algunos equipos necesitan que el módulo pygame.mixer se inicialice después de los módulos de video. El módulo de orden superior tiene precaución de esto automáticamente, pero no envía ningún argumento especial la iniciar mixer. Para resolver esto, el módulo mixer tiene una función llamada pygame.mixer.pre_init() para definir los valores por defecto antes de llamar a pygame.init

Es seguro llamar a esta función mas de una vez, pero después de haber inicializado el módulo mixer no puede cambiar los argumentos de reproducción sin antes llamar a pygame.mixer.init()

pre_init

Define con anterioridad los argumentos de mixer.init.

pygame.mixer.pre_init(frequency=0, size=0, channels=0, buffersize=0): return None

Cualquier argumento cambia los valores por defecto que se utilizan cuando se llama a pygame.mixer.init(). La mejor forma de personalizar el módulo es llamar a esta función antes de llamar a pygame.init.

quit

Deshabilita el módulo mixer.

pygame.mixer.quit(): return None

Deshabilita el módulo pygame.mixer. Se detendrá toda la reproducción de audio y los objetos Sound cargados podrían ser incompatibles con el mezclador si éste se modifica luego.

get_init

Consulta si se ha inicializado el módulo mixer.

pygame.mixer.get_init(): return (frequency, format, channels)

Esta función retorna los argumentos de reproducción si el módulo está iniciado. Se retornará None si el módulo no se ha iniciado.

stop

Detiene la reproducción de todos los canales de sonido.

pygame.mixer.stop(): return None

Detiene la reproducción de todos los canales del mezclador activos.

pause

Detiene la reproducción de forma temporal en todos los canales de sonido.

pygame.mixer.pause(): return None

Detendrá de forma temporal todas las reproducciones en los canales del mezclador activos. La reproducción de sonido se puede reanudar mas tarde llamando a la función pygame.mixer.unpause().

unpause

Reanuda la reproducción de audio en pausa.

pygame.mixer.unpause(): return None

Reanudará todos los canales de sonido activos luego de que estos se han puesto en pausa.

fadeout

Reduce el sonido gradualmente de todos los sonidos antes de detenerlos.

pygame.mixer.fadeout(time): return None

Deducirá el volumen de todos los canales de sonidos en el tiempo indicado por por el argumento milliseconds. El sonido se detendrá una vez que el volumen llegue a su menor valor.

set_num_channels

Define el número total de canales para reproducir.

pygame.mixer.set_num_channels(count): return None

Define el número de canales disponibles para el mezclador. El valor por defecto es 8. Puede aumentar o disminuir este valor. Se reduce este valor todos los sonidos que estén sonando en los canales a eliminar se detendrán.

get_num_channels

Obtiene el número total de canales.

pygame.mixer.get_num_channels(): return count

Retorna el número de canales para reproducir activos.

set_reserved

Reserva canales para que no comiencen a ser utilizados automáticamente.

pygame.mixer.set_reserved(count): return None

El módulo mixer puede preservar cualquier número de canales para que no se seleccionen automáticamente al reproducir Sonidos. No se detendrán los sonidos que actualmente estén sonando en los canales reservados.

Esto permite a la aplicación reservar un número específico de canales para sonidos importantes que no deberían interrumpirse y tener garantizado un canal para reproducirse.

find_channel

Encuentra un canal libre.

pygame.mixer.find_channel(force=False): return Channel

Encuentra y retorna un objeto Channel inactivo. Si no hay canales inactivos retornará None. Si no hay canales inactivos y el argumento foce vale True entonces encontrará el canal que tiene el sonido que mas tiempo se a reproducido y lo retornará.

Si el módulo tiene canales reservados de la función pygame.mixer.set_reserved() entonces esos canales no se retornarán aquí.

get_busy

Consulta si algún sonido a comenzado a reproducirse.

pygame.mixer.get_busy(): return bool

Retorna True si el módulo está reproduciendo en alguno de los canales. Retornará False si el mezclador está libre.

 
traducciones/pygame/mixer.txt · Última modificación: 20/01/2009 a las 21:24 por hugoruscitti
Este sitio funciona sobre el motor wiki de DokuWiki.
© 2003-2008 Hugo Ruscitti