【发布时间】:2017-08-07 20:32:05
【问题描述】:
我已将代码缩减为仅相关部分并将其发布在下面。代码工作正常。视频在您运行时播放,但没有搜索栏。
public class Screen {
//JFrmae
private JFrame frame;
// Panel which I add the canvas to
private JPanel pVid = new JPanel();
// Canvas
Canvas canvas = new Canvas();
// Embedded Media Player
EmbeddedMediaPlayer emp;
/**
* Create the application.
*/
public Screen() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
//Frame
frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
//Adding the panel to the frame
frame.getContentPane().add(pVid);
//Adding the canvas to the panel
pVid.add(canvas);
//Setting canvas size
canvas.setSize(715, 402);
//Loading the VLC native library
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "lib");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
//Initializing the media player
MediaPlayerFactory mpf = new MediaPlayerFactory();
//Misc
emp = mpf.newEmbeddedMediaPlayer(new Win32FullScreenStrategy(frame));
emp.setVideoSurface(mpf.newVideoSurface(canvas));
//Video file name and playing
String file = "video.mp4";
emp.prepareMedia(file);
emp.play();
//pack method
frame.pack();
}
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Screen window = new Screen();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
}
过去 4 天我一直在网上寻找答案。最后我决定在这里问。 vlcj 的官方网站上有他们制作的 vlcj 播放器的图片。这些图片中有一个搜索栏。有图片的网页链接:http://capricasoftware.co.uk/#/projects/vlcj
那里有许多有用的教程,但没有任何添加搜索栏的说明。
然后我尝试从他们的 GitHub 页面下载他们的 vlcj-player 项目。它显示了一个错误,因为它无法解析应该导入的“com.google.common.collect.ImmutableList”。 (目前我正在阅读有关 ImmutableList 之类的内容,看看是否有办法修复它。)由于我还无法弄清楚,我在他们的项目中寻找了一个名为 seekbar 之类的类。我找不到任何东西。
我还在网上其他地方搜索过答案,但我就是找不到。我真的很感激任何帮助。谢谢。
编辑:
(此编辑是对@caprica 给我的建议的回应。阅读他们对这个问题的评论以及我在评论中对此的回复,以了解我在此编辑中所说的内容。我认为它将来对其他人有用。)
好吧,我的 Eclipse 或计算机一定有问题。 (我将在此评论的末尾输入我是如何修复它的。)它现在正在工作。我将逐步输入我所做的事情,以便将来下载和安装该项目对其他人有用。
- 下载项目。
- 将其作为 Maven 项目导入。 (导入 > Maven > 现有 Maven 项目)
- 现在在 Eclipse 中右键单击导入的项目并选择 Run As > Maven Install
就是这样。现在你可以正常运行项目了。如果您不知道如何运行该项目,请这样做。右键单击项目并选择 Run As > Java Application 然后选择 VlcjPlayer – uk.co.caprica.vlcplayer。
或者,您可以打开 main 方法所在的类并运行它。 VlcjPlayer 类是 main 方法所在的地方。该类位于包 uk.co.caprica.vlcplayer 中。
我遇到的问题是,当我以 Maven Install 运行它时,不知何故所有必要的文件都没有下载。但它在另一台计算机上运行良好。因为我知道文件下载到哪里,所以我只是从那台 PC 复制文件夹并将其放在我 PC 的同一个位置。文件夹名称为“存储库”。它的位置是 C:\Users\User Name\ .m2。也许这台 PC 中的 Eclipse 有一些问题。我稍后会重新安装它以避免将来出现问题。
这可能很有用,这台 PC 上安装的 VLC 是 64 位的。不确定这是否有所作为,但以防万一。
现在应用程序运行良好,我将查看代码并查看搜索栏是如何制作的。非常感谢 @caprica 告诉我我应该将它作为 Maven 项目导入。 :)
【问题讨论】:
-
您需要的一切都在 vlcj-player 项目中,将该项目作为 Maven 项目从 Github 导入您的 IDE,您应该没问题(您的 Google 收藏库问题应该会自动解决)。正确实现搜索栏有一些技巧,您可以通过查找 PositionPane 类开始该项目
-
@caprica,我将项目作为 Maven 项目导入 Eclipse。我仍然得到确切的错误。为了确定,我试了几次。不太清楚为什么我仍然收到错误。
-
我欢迎@caprica 的观点;我的目标是在 Swing 设计的背景下引用基本教程。
-
@caprica,我的 Eclipse 似乎有问题。该项目现在没有显示任何错误。我已经在我的问题中输入了它是如何修复的,以供其他人查看。非常感谢。 :)
标签: java swing video seekbar vlcj