Difference between revisions of "Perl bindings"

From VideoLAN Wiki
Jump to navigation Jump to search
m (→‎Usage: syntaxhighlight)
Line 10: Line 10:
  
 
== Usage ==
 
== Usage ==
 +
<syntaxhighlight lang="perl">
 +
#!/usr/bin/env perl
  
#!/usr/bin/env perl
+
use strict;
+
use warnings;
use strict;
+
use 5.010;
use warnings;
+
 
use 5.010;
+
use VideoLAN::LibVLC;
+
 
use VideoLAN::LibVLC;
+
unless (@ARGV) {
+
die "1 argument needed - path to a file.";
unless (@ARGV) {
+
}
die "1 argument needed - path to a file.";
+
 
}
+
my $inst = VideoLAN::LibVLC::Instance->new;
+
my $media = VideoLAN::LibVLC::Media->new($inst, $ARGV[0], "path");
my $inst = VideoLAN::LibVLC::Instance->new;
+
my $player = VideoLAN::LibVLC::MediaPlayer->new($media);
my $media = VideoLAN::LibVLC::Media->new($inst, $ARGV[0], "path");
+
 
my $player = VideoLAN::LibVLC::MediaPlayer->new($media);
+
$player->play;
+
 
$player->play;
+
sleep 5;
+
say $player->fullscreen;
sleep 5;
+
$player->fullscreen(1);
say $player->fullscreen;
+
say $player->fullscreen;
$player->fullscreen(1);
+
sleep 5;
say $player->fullscreen;
+
$player->toggle_fullscreen;
sleep 5;
+
say $player->fullscreen;
$player->toggle_fullscreen;
+
sleep 5;
say $player->fullscreen;
+
</syntaxhighlight>
sleep 5;
 
  
 
== Known issues ==
 
== Known issues ==

Revision as of 00:53, 15 February 2019

Perl bindings

TODO: this wiki page is work in progress

Installation

You need to have libvlc with headers already installed.

TODO: install from CPAN

Usage

#!/usr/bin/env perl

use strict;
use warnings;
use 5.010;

use VideoLAN::LibVLC;

unless (@ARGV) {
	die "1 argument needed - path to a file.";
}

my $inst = VideoLAN::LibVLC::Instance->new;
my $media = VideoLAN::LibVLC::Media->new($inst, $ARGV[0], "path");
my $player = VideoLAN::LibVLC::MediaPlayer->new($media);

$player->play;

sleep 5;
say $player->fullscreen;
$player->fullscreen(1);
say $player->fullscreen;
sleep 5;
$player->toggle_fullscreen;
say $player->fullscreen;
sleep 5;

Known issues

  • Libvlc event handling is not supported currently.
  • It's unknown whether it works under windows or not, I never tested it there.