1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#
# Sound.pm
#
# a SDL_mixer data module
#
# Copyright (C) 2000,2002 David J. Goehrig
package SDL::Sound;
use strict;
use SDL;
sub new {
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = {};
my $filename = shift;
$self->{-data} = SDL::MixLoadWAV($filename);
bless $self,$class;
return $self;
}
sub DESTROY {
my $self = shift;
SDL::MixFreeChunk($self->{-data});
}
sub volume {
my $self = shift;
my $volume = shift;
return SDL::MixVolumeChunk($self->{-data},$volume);
}
1;
__END__;
=pod
=head1 NAME
SDL::Sound - a perl extension
=head1 DESCRIPTION
L<SDL::Sound> is a module for loading WAV files for sound effects.
The file can be loaded by creating a new L<SDL::Sound> object by
passing the filename to the constructor;
my $sound = new SDL::Sound 'my_sfx.wav';
=head1 METHODS
=head2 volume ( value )
Sets the volume of the sample.
=head1 AUTHOR
David J. Goehrig
=head1 SEE ALSO
L<perl> L<SDL::Mixer>
=cut
|