mixQuickLoadWav function
Load a WAV file from memory as quickly as possible.
Unlike Mix_LoadWAV_IO, this function has several requirements, and unless you control all your audio data and know what you're doing, you should consider this function unsafe and not use it.
- The provided audio data MUST be in Microsoft WAV format.
- The provided audio data shouldn't use any strange WAV extensions.
- The audio data MUST be in the exact same format as the audio device. This function will not attempt to convert it, or even verify it's in the right format.
- The audio data must be valid; this function does not know the size of the memory buffer, so if the WAV data is corrupted, it can read past the end of the buffer, causing a crash.
- The audio data must live at least as long as the returned Mix_Chunk, because SDL_mixer will use that data directly and not make a copy of it.
This function will do NO error checking! Be extremely careful here!
(Seriously, use Mix_LoadWAV_IO instead.)
If this function is successful, the provided memory buffer must remain available until Mix_FreeChunk() is called on the returned chunk.
\param mem memory buffer containing of a WAV file. \returns a new chunk, or NULL on error.
\since This function is available since SDL_mixer 3.0.0.
\sa Mix_LoadWAV_IO \sa Mix_FreeChunk
extern SDL_DECLSPEC Mix_Chunk * SDLCALL Mix_QuickLoad_WAV(Uint8 *mem)
Implementation
Pointer<MixChunk> mixQuickLoadWav(Pointer<Uint8> mem) {
final mixQuickLoadWavLookupFunction = libSdl3Mixer.lookupFunction<
Pointer<MixChunk> Function(Pointer<Uint8> mem),
Pointer<MixChunk> Function(Pointer<Uint8> mem)>('Mix_QuickLoad_WAV');
return mixQuickLoadWavLookupFunction(mem);
}