5 die "Could not initialize SDL: ", SDL::GetError()
6 if ( 0 > SDL::Init(SDL_INIT_AUDIO()));
8 $ARGV[0] ||= 'data/sample.wav';
10 die "usage: $0 [wavefile]\n"
11 if ( in $ARGV[0], qw/ -h --help -? /);
13 my ($wav_spec,$wav_buffer,$wav_len,$wav_pos) = (0,0,0,0);
20 $wav_ptr = $wav_buffer + $wav_pos;
21 $wav_remainder = $wav_len - $wav_pos;
23 while ( $wav_remainder <= $len ) {
24 SDL::MixAudio($data,$wav_ptr,$wav_remainder,SDL_MIX_MAXVOLUME);
25 $data += $wav_remainder;
26 $len -= $wav_remainder;
27 $wav_ptr = $wav_buffer;
28 $wav_remainder = $wav_len;
31 SDL::MixAudio($data,$wav_ptr,$len,SDL_MIX_MAXVOLUME);
44 $spec = SDL::NewAudioSpec(44100,AUDIO_S16,2,4096);
46 $wave = SDL::LoadWAV($ARGV[0],$spec);
48 ($wav_spec,$wav_buffer,$wav_len) = @$wave;
50 die "Could not load wav file $ARGV[0], ", SDL::GetError(), "\n" unless ( $wav_len );
52 die "Could not open audio ", SDL::GetError()
53 if (0 > SDL::OpenAudio($wav_spec,$fillerup));
57 print "Using audio driver: ", SDL::AudioDriverName(), "\n";
59 while (! $done && ( SDL::GetAudioStatus() == SDL_AUDIO_PLAYING())) {