在Java Swing中播放AVI视频文件

4

我需要播放一个avi视频文件并将其添加到一个jpanel中。 我只需要能够从视频的开头播放到结尾,然后继续我的程序。 我不需要任何寻找功能或类似的东西。 最简单的方法是什么? 如果可能的话,最好不要使用xuggler。


我从未尝试过,但是 vlcj 可能是一个很有前途的选择。 - Guillaume Polet
1个回答

5

使用VLCJ,在swing应用程序中嵌入VLC播放器非常容易。以下是一个可行的示例:

 public class PlayerPanel extends JPanel {

     private File vlcInstallPath = new File("D:/vlc");
     private EmbeddedMediaPlayer player;

     public PlayerPanel() {
         NativeLibrary.addSearchPath("libvlc", vlcInstallPath.getAbsolutePath());
         EmbeddedMediaPlayerComponent videoCanvas = new EmbeddedMediaPlayerComponent();
         this.setLayout(new BorderLayout());
         this.add(videoCanvas, BorderLayout.CENTER);
         this.player = videoCanvas.getMediaPlayer();
     }

     public void play(String media) {
         player.prepareMedia(media);
         player.parseMedia();
         player.play();
     }
 }

 class VideoPlayer extends JFrame {

     public VideoPlayer() {
          PlayerPanel player = new PlayerPanel();
          this.setTitle("Swing Video Player");
          this.setDefaultCloseOperation(EXIT_ON_CLOSE);
          this.setLayout(new BorderLayout());
          this.setSize(640, 480);
          this.setLocationRelativeTo(null);
          this.add(player, BorderLayout.CENTER);
          this.validate();
          this.setVisible(true);

          player.play("http://174.132.240.162:8000/;stream.nsv");
     }

      public static void main(String[] args) {
          new VideoPlayer();
      }
 }

那么,计算机必须安装VLC媒体播放器才能正常工作? - pinkpanther
2
是的,或者您可以将其添加到您的Swing项目的子文件夹中。 - Stefan
谢谢...但我怀疑它是否与平台有关,因为不同的平台有不同的VLC? - pinkpanther
是的,它依赖于平台。 - Stefan
我们如何添加 VLC 控件? - Dariush Jafari
http://capricasoftware.co.uk/#/projects/vlcj/tutorial/basic-controls - Stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接