SYNOPSIS
use Audio::Mixer;
$volume = Audio::Mixer::get_cval('vol');
if (Audio::Mixer::set_cval('vol', 50, 40)) {
die("Can't set volume...");
}
DESCRIPTION
Library to query / set various sound mixer parameters.This is just a very simple Perl interface which allows one to set various sound mixer parameters. The most important probably 'vol' (volume). The list of all mixer parameters can be obtained using get_mixer_params() function.
All values (lcval, rcval) are numbers in 0-100 range.
FUNCTIONS
get_cval(cntrl) - Get parameter value Parameters:cntrl - name of parameter Returns:
in array context: (lcval, rcval), where:
lcval - left channel value
rcval - right channel value
in scalar context returns value of get_param_val() (see below)
set_cval(cntrl, lcval, rcval) - Set parameter value
Parameters:
cntrl - name of parameter
lcval - left channel value
rcval - right channel value (optional, if not supplied
will be equal to lcval)
Returns: 0 if Ok, -1 if failed
set_source(cntrl) - set record source
Parameters:
cntrl - name of channel to record from
Returns: 0 if Ok, -1 if failed
get_source(cntrl) - get record source
Returns:
name of channel to record from
set_mixer_dev(fname) - Set mixer device name (optional),
/dev/mixer is used by default
fname - device name
Returns: 0 if Ok
init_mixer() - Initialize mixer (open it)
set_cval() / get_cval() opens / closes the mixer each
time they called unless init_mixer() called before.
In case if init_mixer() called before all other
functions will use already opened device instead of
opening it each time.
close_mixer() - Close device.
Should be called only if init_mixer() was used.
get_mixer_params() - Get list of mixer parameters Returns: list of parameters names.
LOW LEVEL FUNCTIONS:
get_param_val(cntrl) - Get parameter value
Parameter:
cntrl - name of parameter
Returns:
integer value, which will be constructed as follows:
lower byte (x & 0xff) - value of the left channel
(or whole value)
next byte (x & 0xff00) - value of the right channel
third byte (x & 0xff0000) - flags (if x & 0x10000 then
2 channels exist)
or -1 in case of failure.
set_param_val(cntrl, lcval, rcval) - Set parameter value.
Here all parameters are mandatory (in contrast to set_cval()).
Parameters:
cntrl - name of parameter
lcval - left channel value
rcval - right channel value
Returns: 0 if Ok, -1 if failed