视频无法在VLCJ中播放

时间:2017-03-28 02:50:03

标签: java swing vlcj

我在Eclipse上为学校项目做了这个应用程序。它只是假设在按下按钮时运行视频。在IDE中一切正常,虽然发生了错误但不会造成任何麻烦(请留下它,想想,所以如果它导致我现在想要的东西。) 现在,当我导出Jar文件并尝试运行它时,在同一台计算机上,视频无法播放。我能做什么?

JFrame vid = new JFrame();
        vid.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        vid.setBounds(100, 100, 450, 300);
        vid.setVisible(true);

        Canvas c = new Canvas();
        c.setBackground(Color.BLACK);
        JPanel p = new JPanel();
        p.setLayout(new BorderLayout());
        p.add(c);
        vid.add(p);

        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(),"C:/Program Files/VideoLAN/VLC");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
        MediaPlayerFactory mpf = new MediaPlayerFactory();
        EmbeddedMediaPlayer emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(vid));
        emp.setVideoSurface(mpf.newVideoSurface(c));
        emp.toggleFullScreen();
        emp.setEnableMouseInputHandling(false);
        emp.setEnableKeyInputHandling(false);
        String file="/resources/sky.mp4";
        emp.prepareMedia(file);
        emp.play();

以下是出现的错误代码:

[0000000017a2b420] core vout display error: Failed to set on top

请帮助我,因为我需要项目工作。

1 个答案:

答案 0 :(得分:0)

好的,我得开始工作了一下。 因为我不能使用URL而不是String,并且String不允许我使用Class#getResource,所以我最终决定从一个公共文件夹运行它,理论上它不应该从pc更改为pc。

所以我的代码最终成为:

String file = new File("C:/Users/Public/Videos/sky.mp4").getAbsolutePath();
        emp.prepareMedia(file);
        emp.play();

虽然在没有指导的情况下通过并不理想,因为我们将安装该程序,但它可以完成任务。