/lib/Teto/Track/NicoVideo/nm.pm
http://github.com/motemen/Teto · Perl · 25 lines · 19 code · 6 blank · 0 comment · 0 complexity · 5d2dd3b2fb3b2d9b76ee8dd582b91074 MD5 · raw file
- package Teto::Track::NicoVideo::nm;
- use Mouse;
- extends 'Teto::Track::NicoVideo';
- override buildargs_from_url => sub {
- my ($class, $url) = @_;
- $url =~ m<^http://(?:\w+\.nicovideo\.jp/watch|nico\.ms)/(nm\d+)> or return undef;
- return { video_id => $1 };
- };
- override _play => sub {
- my $self = shift;
- my $media_url = $self->media_url or return;
- my $flv = $self->download_temporary($media_url => '.flv');
- my $mp3 = $self->temporary_filename('.mp3');
- $self->run_command([ 'swfextract', $flv, '-m', '-o', $mp3 ]);
- $self->send_file_to_buffer($mp3);
- };
- __PACKAGE__->meta->make_immutable;
- no Mouse;
- 1;