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.