Audio-aKodePlayer
view release on metacpan or search on metacpan
example/player.pl view on Meta::CPAN
sub position {
print "Playback position: ".($player->position()/1000)." seconds of ".($player->length()/1000)."\r";
}
$player->open('auto') || die "Cannot output any audio output sink\n"; # automatically selected output sink
while (@ARGV) {
my $file = shift;
$player->load( $file ) || die "Cannot load $file\n"; # any format supported by aKode
$player->setSampleRate($opts{rate}) if defined $opts{rate};
$player->play();
$player->pause();
$player->setVolume(100*$opts{volume}) if defined $opts{volume};
print "Software volume is at ".($player->volume()*100)."%\n";
$player->seek($opts{seek}*1000) if $player->seekable and defined $opts{seek};
position();
$player->resume();
while (!$player->eof) {
position();
if ($select->can_read(1)) {
<>; $player->pause();
print "\nPaused"." "x50,"\r";
if ($select->can_read()) {
print "\nResuming"." "x50,"\n";
<>; $player->resume();
}
}
}
$player->wait; # idle until the playback stops
position();
print "\nDone.\n";
$player->stop; # stop playback
$player->unload; # release resources related to the media
}
$player->close; # release resources related to the the output sink
__END__
=head1 NAME
player.pl - a simple Audio::aKodePlayer based player
=head1 SYNOPSIS
player.pl [--volume 0-100] [--seek sec] audiofile ...
or
player.pl -u for usage
player.pl -h for help
player.pl --man for the manual page
player.pl --version for version
=head1 DESCRIPTION
Stub documentation for player.pl,
created by template.el.
=over 5
=item B<--volume|-v> volume
Play at a given software volume (in percent).
=item B<--seek|-s> seconds
Start playback from a given position in the audio.
=item B<--rate|-r> rate
Set sample rate.
=item B<--usage|-u>
Print a brief help message on usage and exits.
=item B<--help|-h>
Prints the help page and exits.
=item B<--man>
Displays the help as manual page.
=item B<--version>
Print program version.
=back
=head1 AUTHOR
Petr Pajas, E<lt>pajas@sup.ms.mff.cuni.czE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2007 by Petr Pajas
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.2 or,
at your option, any later version of Perl 5 you may have available.
=head1 BUGS
None reported... yet.
=cut
( run in 0.872 second using v1.01-cache-2.11-cpan-39bf76dae61 )