… | |
… | |
7 | use AnyEvent::MPV; |
7 | use AnyEvent::MPV; |
8 | |
8 | |
9 | my $videofile = "path/to/file.mkv"; |
9 | my $videofile = "path/to/file.mkv"; |
10 | use AnyEvent; |
10 | use AnyEvent; |
11 | my $mpv = AnyEvent::MPV->new (trace => 1); |
11 | my $mpv = AnyEvent::MPV->new (trace => 1); |
12 | $mpv->start; |
12 | $mpv->start ("--idle=yes"); |
13 | $mpv->cmd (loadfile => $mpv->escape_binary ($videofile)); |
13 | $mpv->cmd (loadfile => $mpv->escape_binary ($videofile)); |
14 | my $quit = AE::cv; |
14 | my $quit = AE::cv; |
15 | $mpv->register_event (end_file => $cv); |
15 | $mpv->register_event (end_file => $quit); |
16 | $quit->recv; |
16 | $quit->recv; |
|
|
17 | |
17 | |
18 | |
18 | =head1 DESCRIPTION |
19 | =head1 DESCRIPTION |
19 | |
20 | |
20 | This module allows you to remote control F<mpv> (a video player). It also |
21 | This module allows you to remote control F<mpv> (a video player). It also |
21 | is an L<AnyEvent> user, you need to make sure that you use and run a |
22 | is an L<AnyEvent> user, you need to make sure that you use and run a |
… | |
… | |
220 | use Scalar::Util (); |
221 | use Scalar::Util (); |
221 | |
222 | |
222 | use AnyEvent (); |
223 | use AnyEvent (); |
223 | use AnyEvent::Util (); |
224 | use AnyEvent::Util (); |
224 | |
225 | |
225 | our $VERSION = '0.2'; |
226 | our $VERSION = '1.0'; |
226 | |
227 | |
227 | sub OBSID() { 0x10000000000000 } # 2**52 |
228 | sub OBSID() { 0x10000000000000 } # 2**52 |
228 | |
229 | |
229 | our $JSON = eval { require JSON::XS; JSON::XS:: } |
230 | our $JSON = eval { require JSON::XS; JSON::XS:: } |
230 | || do { require JSON::PP; JSON::PP:: }; |
231 | || do { require JSON::PP; JSON::PP:: }; |