DRAFT |
SDL_MixAudio
Use this function to mix audio data.
Syntax
void SDL_MixAudio(Uint8* dst,
const Uint8* src,
Uint32 len,
int volume)
Function Parameters
dst |
points to the destination for the mixed audio |
src |
points to the source audio buffer to be mixed |
len |
defines the length of the audio buffer in bytes |
volume |
ranges from 0 - 128, and should be set to SDL_MIX_MAXVOLUME for full audio volume |
Code Examples
You can add your code example here
green
http://www.libsdl.org/cgi/docwiki.cgi/Audio_Examples
Remarks
This takes an audio buffer src of len bytes in the playing audio format and mixes it into dst, performing addition, volume adjustment, and overflow clipping.
Note that this does not change hardware volume.
This is provided for convenience -- you can mix your own audio data.
Do not use this function for mixing together more than two streams of sample data. The output from repeated application of this function may be distorted by clipping, because there is no accumulator with greater range than the input (not to mention this being an inefficient way of doing it). Use mixing functions from SDL_mixer, OpenAL, or write your own mixer instead.
It is a common misconception that this function is required to write audio data to an output stream in the audio-callback. While you can do that, SDL_MixAudio() is really only needed when you're mixing a single audio stream with a volume adjustment.
*
green
void audio_callback(void *udata, Uint8 *stream, int len)
{
SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME);
}
*
