package Mplayer; use strict; use IO::Handle; our $AUTOLOAD; sub new { my $proto = shift; my $class = ref($proto) || $proto; my $self = {}; $self->{PIPE} = undef; bless ($self, $class); return $self; } sub load { my $self = shift; my $file = shift; $self->{PIPE} = IO::Handle->new(); open $self->{PIPE}, "|mplayer -fs '$file'"; } sub pause { my $self = shift; if (defined $self->{PIPE}) { $self->{PIPE}->syswrite(' '); } } sub quit { my $self = shift; if (defined $self->{PIPE}) { $self->{PIPE}->syswrite('q'); $self->{PIPE}->close(); $self->{PIPE} = undef; } } sub AUTOLOAD { my $self = shift; my $name = $AUTOLOAD; print "Unknown method $name called\n"; } 1;