Locked History Actions

vlcj/installation

VLCのインストール

まずvlcjではなく、単体のアプリであるVLCをインストールする。 使用するJavaのビット数によって対応するVLCは異なる。つまり、64bitのJavaであれば、64bitのVLCが必要。

インストール後は、典型的には、「C:\Program Files\VideoLAN\VLC」に

libvlc.dll
libvlccore.dll
plugins

というファイル・フォルダが格納されていることがわかる。

vlcjの用意

gradleで

    compile group: 'uk.co.caprica', name: 'vlcj', version: '3.10.1'

を指定してライブラリを取得。依存ライブラリとして

net.java.dev.jna:jna:4.1.0
net.java.dev.jna:jna-platform:4.1.0
org.slf4j:slf4j-api:1.7.10

も取得される。

ビデオを表示してみる

以下のコードで可能。

import javax.swing.*;

import uk.co.caprica.vlcj.component.*;
import uk.co.caprica.vlcj.discovery.*;

public class VlcPlayer extends JFrame {

  public static void main(final String[] args) {

    // ここで勝手にVLCのDLLを探してくれるらしい。
    new NativeDiscovery().discover();

    // プレーヤーを表示
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        new VlcPlayer();
      }
    });
  }

  private VlcPlayer() {

    this.setTitle("VlcPlayer");

    // プレーヤーコンポーネント
    EmbeddedMediaPlayerComponent player = new EmbeddedMediaPlayerComponent();
    this.setContentPane(player);

    this.setSize(1050, 600);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setVisible(true);

    // 注意:"c:/users/admin/desktop/video.mp4"ではだめ、これはネイティブつまりWindowsに渡される文字列なので、
    // バックスラッシュでないといけない。
    player.getMediaPlayer().playMedia("c:\\users\\admin\\desktop\\video.mp4");
  }
}

ログの表示

うまくいかない場合、vlcjはslf4jを使用しているので、以下を依存ライブラリとして追加すれば、ログが表示されるようになる。

compile group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.10'