SDL_mixer.h

Función Mix_PlayChannelTimed

Sintaxis

int Mix_PlayChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ticks);

Descripción

Reproduce un fragmento de audio en un canal específico durante un tiempo máximo.

Parámetros

channel
El canal en el que se reproducirá el nuevo chunk.
chunk
El nuevo chunk a reproducir.
loops
El número de veces que el chunk debe reproducirse en bucle, -1 para reproducirlo (no realmente) infinitamente.
ticks
El número máximo de milisegundos de este chunk a mezclar para la reproducción.

Valor de retorno

Devuelve qué canal se utilizó para reproducir el sonido, o -1 si no se pudo reproducir el sonido.

Observaciones

Si el canal especificado es -1, reproduce en el primer canal libre (y devuelve -1 sin reproducir nada nuevo si no había ningún canal libre disponible).

Si se solicitó un canal específico, y ya hay un trozo reproduciéndose allí, ese trozo se detendrá y el nuevo trozo ocupará su lugar.

Si loops es mayor que cero, repite el sonido tantas veces como sea necesario. Si loops es -1, se repite "infinitamente" (~65000 veces).

ticks especifica el número máximo de milisegundos a reproducir antes de detener la reproducción. Si se quiere que el chunk se reproduzca hasta que todos los datos se hayan mezclado, especificar -1.

Hay que tener en cuenta que esta función no se bloquea durante el número de ticks solicitado; sólo programa la reproducción del chunk y anota el máximo para que el mezclador lo gestione más tarde, y devuelve inmediatamente.