SDL_mixer.h

Función Mix_LoadWAV

Sintaxis

Mix_Chunk * Mix_LoadWAV(const char *file);

Descripción

Carga un formato de audio compatible en un chunk.

Parámetros

file
La ruta del sistema de archivos desde la que cargar los datos.

Valor de retorno

Devuelve un nuevo chunk, o NULL en caso de error.

Observaciones

SDL_mixer tiene dos estructuras de datos separadas para los datos de audio. Una se denomina "chunk" (trozo), y está pensada para ser un archivo completamente decodificado en memoria por adelantado, y la otra se denomina "music" (música), que es un archivo pensado para ser decodificado bajo demanda. Al principio, los formatos sencillos, como los archivos WAV sin comprimir, eran "chunks" y los comprimidos, como los MP3, eran "música", y se transmitía una cosa para la música de un juego y se hacían efectos de sonido repetitivos con los "chunks".

En los tiempos modernos, esto ya no se divide por formatos, y la mayoría son intercambiables, así que la cuestión es qué cree la aplicación que merece la pena predecodificar o no. Los chunks pueden ocupar más memoria, pero una vez cargados no será necesario descodificarlos de nuevo, mientras que la música siempre hay que descodificarla sobre la marcha. Además, y esto es crucial, hay tantos canales para los chunks como la aplicación pueda asignar, pero SDL_mixer sólo ofrece un único canal de "música".

Si se prefiere usar la interfaz abstracta SDL_RWops para cargar datos desde otro lugar que no sea el sistema de archivos, se puede usar Mix_LoadWAV_RW() en su lugar.

Cuando se termine con un chunk, la aplicación debe deshacerse de él con una llamada a Mix_FreeChunk().

Hay que tener en cuenta que antes de SDL_mixer 2.6.0, esta función era una macro que llamaba a Mix_LoadWAV_RW(), creando un RWops y poniendo freesrc a 1. Desde entonces, esta macro se ha convertido en una función propia de la API. Los binarios más antiguos enlazados con un SDL_mixer más reciente seguirán llamando a Mix_LoadWAV_RW() directamente, ya que están utilizando la macro, que estaba disponible desde el principio de los tiempos.