[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3.3 Mix_PlayChannel

int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops)

channel
Channel to play on, or -1 for the first free unreserved channel.
chunk
Sample to play.
loops
Number of loops, -1 is infinite loops.
Passing one here plays the sample twice (1 loop).

Play chunk on channel, or if channel is -1, pick the first free unreserved channel. The sample will play for loops+1 number of times, unless stopped by halt, or fade out, or setting a new expiration time of less time than it would have originally taken to play the loops, or closing the mixer.
Note: this just calls Mix_PlayChannelTimed() with ticks set to -1.

Returns: the channel the sample is played on. On any errors, -1 is returned.

 
// play sample on first free unreserved channel
// play it exactly once through
// Mix_Chunk *sample; //previously loaded
if(Mix_PlayChannel(-1, sample, 0)==-1) {
    printf("Mix_PlayChannel: %s\n",Mix_GetError());
    // may be critical error, or maybe just no channels were free.
    // you could allocated another channel in that case...
}

See Also:
4.3.4 Mix_PlayChannelTimed, 4.3.5 Mix_FadeInChannel, 4.3.9 Mix_HaltChannel, 4.3.10 Mix_ExpireChannel, 4.4.1 Mix_ReserveChannels



This document was generated on November, 13 2009 using texi2html