6 croak "Could not initialize SDL: ", SDL::GetError()
7 if ( 0 > SDL::Init(SDL_INIT_AUDIO()));
9 $ARGV[0] ||= 'data/sample.wav';
11 croak "usage: $0 [wavefile]\n"
12 if ( in $ARGV[0], qw/ -h --help -? /);
14 my ($wav_spec,$wav_buffer,$wav_len,$wav_pos) = (0,0,0,0);
21 $wav_ptr = $wav_buffer + $wav_pos;
22 $wav_remainder = $wav_len - $wav_pos;
24 while ( $wav_remainder <= $len ) {
25 SDL::MixAudio($data,$wav_ptr,$wav_remainder,SDL_MIX_MAXVOLUME);
26 $data += $wav_remainder;
27 $len -= $wav_remainder;
28 $wav_ptr = $wav_buffer;
29 $wav_remainder = $wav_len;
32 SDL::MixAudio($data,$wav_ptr,$len,SDL_MIX_MAXVOLUME);
45 $spec = SDL::NewAudioSpec(44100,AUDIO_S16,2,4096);
47 $wave = SDL::LoadWAV($ARGV[0],$spec);
49 ($wav_spec,$wav_buffer,$wav_len) = @$wave;
51 croak "Could not load wav file $ARGV[0], ", SDL::GetError(), "\n" unless ( $wav_len );
53 croak "Could not open audio ", SDL::GetError()
54 if (0 > SDL::OpenAudio($wav_spec,$fillerup));
58 print "Using audio driver: ", SDL::AudioDriverName(), "\n";
60 while (! $done && ( SDL::GetAudioStatus() == SDL_AUDIO_PLAYING())) {