=pod =head1 NAME SDL::AudioSpec -- SDL Bindings for structure SDL::AudioSpec =head1 CATEGORY Core, Audio, Structure =head1 SYNOPSIS use SDL; use SDL::AudioSpec; SDL::init(SDL_INIT_AUDIO); my $audio_spec = SDL::AudioSpec->new(); $audio_spec->freq(22050); # 22050Hz - FM Radio quality $audio_spec->format(AUDIO_S16SYS); # 16-bit signed audio $audio_spec->samples(8192); # Large audio buffer reduces risk of dropouts but increases response time $audio_spec->channels(1); # Mono $audio_spec->callback('main::callback'); sub callback { # do something here } =head1 DESCIPTION The C structure is used to describe the format of some audio data. This structure is used by C and C. While all fields are used by C, only C, C, C and C are used by C. We will detail these common members here. =head1 METHODS =head2 freq The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better. =head2 format Specifies the size and type of each sample element. Values it can take are: =over 4 =item AUDIO_U8 Unsigned 8-bit samples. =item AUDIO_S8 Signed 8-bit samples. =item AUDIO_U16 or AUDIO_U16LSB not supported by all hardware (unsigned 16-bit little-endian) =item AUDIO_S16 or AUDIO_S16LSB not supported by all hardware (signed 16-bit little-endian) =item AUDIO_U16MSB not supported by all hardware (unsigned 16-bit big-endian) =item AUDIO_S16MSB not supported by all hardware (signed 16-bit big-endian) =item AUDIO_U16SYS Either AUDIO_U16LSB or AUDIO_U16MSB depending on hardware CPU endianness =item AUDIO_S16SYS Either AUDIO_S16LSB or AUDIO_S16MSB depending on hardware CPU endianness =back =head2 channels The number of separate sound channels. 1 is mono (single channel), 2 is stereo (dual channel). =head2 samples When used with C this refers to the size of the audio buffer in samples. A sample is a chunk of audio data of the size specified in format multiplied by the number of channels. When the C is used with C samples is set to 4096. =head2 callback To be documented. =head1 AUTHORS See L. =cut