Difference between revisions of "Perl bindings"

From VideoLAN Wiki
Jump to navigation Jump to search
m (Simplify layout)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Perl bindings =
 
 
 
'''TODO: this wiki page is work in progress'''
 
'''TODO: this wiki page is work in progress'''
  
Line 10: Line 8:
  
 
== Usage ==
 
== Usage ==
 +
<syntaxhighlight lang="perl">
 +
#!/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;
  
#!/usr/bin/env perl
+
sleep 5;
+
say $player->fullscreen;
use strict;
+
$player->fullscreen(1);
use warnings;
+
say $player->fullscreen;
use 5.010;
+
sleep 5;
+
$player->toggle_fullscreen;
use VideoLAN::LibVLC;
+
say $player->fullscreen;
+
sleep 5;
unless (@ARGV) {
+
</syntaxhighlight>
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 ==
 
== Known issues ==

Latest revision as of 09:02, 27 March 2019

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.