Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

sdl::mixer(3) [suse man page]

SDL::Mixer(3)						User Contributed Perl Documentation					     SDL::Mixer(3)

NAME
SDL::Mixer - a SDL perl extension SYNOPSIS
$mixer = new SDL::Mixer -frequency => MIX_DEFAULT_FREQUENCY, -format => MIX_DEFAULT_FORMAT, -channels => MIX_DEFAULT_CHANNELS, -size => 4096; DESCRIPTION
SDL::Mixer allows you access to the SDL mixer library, enablig sound and music volume setting, playing, pausing and resuming, as well as fading the sound and music in and out. METHODS
new() $mixer = SDL::Mixer->new( -frequency => MIX_DEFAULT_FREQUENCY, -format => MIX_DEFAULT_FORMAT, -channels => MIX_DEFAULT_CHANNELS, -size => 4096); Creates a new SDL::Mixer object. $size is the buffer size in bytes. query_spec() my $specs = SDL::Mixer::query_spec(); Returns a hash reference, containing the following keys and their respective values: -status -frequency -channels -format reserve_channels $mixer->reserve_channels(4); Reserve so many channels. allocate_channels() $mixer->reserve_channels(2); Allocate so many channels. group_channel(channel,group) Group the channel number $channel into group $group. group_channels(from,to,group) Groups a range of channels group_available(group) Return true when the group is available. group_count(group) Returns the number of channels in the group group_oldest() group_newer() play_channel() play_music() Play $music $loop times. fade_in_channel(channel,chunk,loops,ms,ticks) Fades a channel in fade_in_music(music,loops,ms) Fades the music in over a number of ms, looping as it does channel_volume(channel,volume) Sets the volume for a single channel mucis_volume(volume) Set the volume for the music. halt_channel(channel) Stops a specific channel halt_group(group) Stops a group of channels halt_music() Stops the music channel_expire(channel,ticks) Ignores the channel after "ticks" has expired fade_out_channel(channel,ms) Fade the channel number $channel in $ms ms out. fade_out_group(group,ms) Fade the channel group $group in $ms ms out. fade_out_music(ms) Fade the music in $ms ms out. fading_music() Return true when the music is currently fading in or out. fading_channel() Return true when the channel number $channel is currently fading in or out. pause( channel ) Pause the channel $channel. resume(channel) Resume the channel $channel. paused() Return true when the channel is currently paused. pause_music() Pause the music play. resume_music() Resume the music play. rewind_music() Resets the music file to the beginning music_paused() Return true when the music is currently paused. playing() Return true when the channel is currently playing. playing_music () Return true when the music is currently playing. AUTHORS
David J. Goehrig, basic doc added by Tels <http://bloodgate.com>. SEE ALSO
perl, SDL::Music and SDL::Sound. perl v5.12.1 2010-07-05 SDL::Mixer(3)

Check Out this Related Man Page

pods::SDL::Mixer::Channels(3pm) 			User Contributed Perl Documentation			   pods::SDL::Mixer::Channels(3pm)

NAME
SDL::Mixer::Channels -- SDL::Mixer channel functions and bindings CATEGORY
Mixer DESCRIPTION
METHODS
allocate_channels my $ret = SDL::Mixer::Channels::allocate_channels( $number_of_channels ); Dynamically change the number of channels managed by the mixer. If decreasing the number of channels, the upper channels are stopped. This function returns the new number of allocated channels. Example use SDL::Mixer::Channels; printf("We got %d channels! ", SDL::Mixer::Channels::allocate_channels( 8 ) ); volume my $prev_volume = SDL::Mixer::Channels::volume( $channel_number, $volume ); "volume" changes the volume of the channel specified in channel by the amount set in volume. The range of volume is from 0 to "MIX_MAX_VOLUME" which is 128. Passing "-1" to channel will change the volume of all channels. If the specified volume is "-1", it will just return the current volume. Returns the previously set volume of the channel. play_channel my $channel_number = SDL::Mixer::Channels::play_channel( $channel, $chunk, $loops ); "play_channel" will play the specified "chunk" over the specified "channel". SDL_mixer will choose a channel for you if you pass "-1" for "channel". The chunk will be looped "loops" times, the total number of times played will be "loops+1". Passing "-1" will loop the chunk infinitely. Returns the channel the chunk will be played on, or "-1" on error. Example: use SDL::Mixer; use SDL::Mixer::Channels; use SDL::Mixer::Samples; SDL::init(SDL_INIT_AUDIO); SDL::Mixer::open_audio( 44100, SDL::Constants::AUDIO_S16, 2, 4096 ); my $chunk = SDL::Mixer::Samples::load_WAV('sample.wav'); SDL::Mixer::Channels::play_channel( -1, $chunk, -1 ); SDL::delay(1000); SDL::Mixer::close_audio(); play_channel_timed my $channel = SDL::Mixer::Channels::play_channel_timed( $channel, $chunk, $loops, $ticks ); Same as play_channel but you can specify the time it will play by $ticks. fade_in_channel my $channel = SDL::Mixer::Channels::fade_in_channel( $channel, $chunk, $loops, $ms ); Same as play_channel but you can specify the fade-in time by $ms. fade_in_channel_timed my $channel = SDL::Mixer::Channels::fade_in_channel_timed( $channel, $chunk, $loops, $ms, $ticks ); Same as fade_in_channel but you can specify the time how long the chunk will be played by $ticks. pause SDL::Mixer::Channels::pause( $channel ); Pauses the given channel or all by passing "-1". resume SDL::Mixer::Channels::resume( $channel ); Resumes the given channel or all by passing "-1". halt_channel SDL::Mixer::Channels::halt_channel( $channel ); Stops the given channel or all by passing "-1". expire_channel my $channels = SDL::Mixer::Channels::expire_channel( $channel, $ticks ); Stops the given channel (or "-1" for all) after the time specified by $ticks (in milliseconds). Returns the number of affected channels. fade_out_channel my $fading_channels = SDL::Mixer::Channels::fade_out_channel( $which, $ms ); "fade_out_channel" fades out a channel specified in "which" with a duration specified in "ms" in milliseconds. Returns the the number of channels that will be faded out. channel_finished SDL::Mixer::Channels::channel_finished( $callback ); Add your own callback when a channel has finished playing. "NULL" to disable callback. The callback may be called from the mixer's audio callback or it could be called as a result of halt_channel, etc. do not call "lock_audio" from this callback; you will either be inside the audio callback, or SDL_mixer will explicitly lock the audio before calling your callback. Example 1: my $callback = sub{ printf("[channel_finished] callback called for channel %d ", shift); }; SDL::Mixer::Channels::channel_finished( $callback ); Example 2: sub callback { ... } SDL::Mixer::Channels::channel_finished( &callback ); playing my $playing = SDL::Mixer::Channels::playing( $channel ); Returns 1 if the given channel is playing sound, otherwise 0. It doesn't check if the channel is paused. Note: If you pass "-1" you will get the number of playing channels. paused my $paused = SDL::Mixer::Channels::paused( $channel ); Returns 1 if the given channel is paused, otherwise 0. Note: If you pass "-1" you will get the number of paused channels. fading_channel my $fading_channel = SDL::Mixer::Channels::fading_channel( $channel ); Returns one of the following for the given channel: o MIX_NO_FADING o MIX_FADING_OUT o MIX_FADING_IN Note: Never pass "-1" to this function! get_chunk my $chunk = SDL::Mixer::Channels::get_chunk( $channel ); "get_chunk" gets the most recent sample chunk played on channel. This chunk may be currently playing, or just the last used. Note: Never pass "-1" to this function! AUTHORS
See "AUTHORS" in SDL. perl v5.14.2 2012-05-28 pods::SDL::Mixer::Channels(3pm)
Man Page