我已將代碼修剪至相關部分並在下面發佈。代碼工作正常。視頻在運行時播放,但沒有搜索欄。如何添加一個seekbar到在Java Swing中使用vlcj播放的視頻?
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播放器的圖片。這些照片中有一個seekbar。鏈接到有圖片的網頁:http://capricasoftware.co.uk/#/projects/vlcj
他們有許多有用的教程,但他們沒有任何添加seekbar的說明。
然後我嘗試從他們的GitHub頁面下載他們的vlcj-player項目。它顯示錯誤,因爲它無法解析應該導入的「com.google.common.collect.ImmutableList」。 (目前我正在閱讀關於ImmutableList和東西的內容,看看是否有辦法解決這個問題。)因爲我還沒弄清楚,我在他們的項目中尋找了一個名爲seekbar的類。我找不到任何東西。
我也在網上搜索了其他地方的答案,但我找不到它。我非常感謝任何幫助。謝謝。
編輯:
(此編輯爲響應由@caprica給我的建議閱讀他們的這個問題和評論我的評論回覆,要明白我在這裏談論英寸這個編輯,我認爲這對未來其他人會有用。)
好吧,我的Eclipse或電腦肯定有問題。 (我會在本評論結尾處列出我是如何解決這個問題的。)它現在正在工作。我會一步一步輸入我所做的事情,以便將來可以幫助其他人下載和安裝項目。
- 下載該項目。
- 將其導入爲Maven項目。 (導入>的Maven>現有Maven項目)
- 現在在Eclipse中右鍵單擊導入的項目,並選擇Run As> Maven的安裝
就是這樣。現在,您可以正常運行項目。如果你不知道如何運行這個項目,就這樣做。右鍵單擊該項目並選擇運行方式> Java應用程序,然後選擇VlcjPlayer - uk.co.caprica.vlcplayer。
或者,您可以打開主方法所在的類並運行它。 VlcjPlayer類是主要方法所在的位置。該類在uk.co.caprica.vlcplayer包中。
我面臨的問題是,當我將它作爲Maven Install運行時,所有必要的文件都沒有得到下載。但它在另一臺電腦上運行良好。由於我知道下載文件的位置,因此我只是將該文件夾從該PC複製並放入PC中的相同位置。文件夾名稱是'存儲庫'。它的位置是C:\ Users \ User Name \ .m2。也許在這臺PC上的Eclipse有一些問題。稍後將重新安裝,以避免將來出現問題。
這可能是有用的,在這臺PC上安裝的VLC是64位。不知道這是否有所作爲,但提及它以防萬一。
現在,該應用程序工作正常,我會看到代碼,看看如何seekbar。非常感謝@caprica告訴我應該將它作爲Maven項目導入。 :)
您需要的所有東西都在vlcj-player項目中,將項目從Github作爲Maven項目導入到您的IDE中,您應該沒問題(應該自動解決您的Google集合庫問題)。正確實施seekbar有一些技巧,你可以通過查找PositionPane類 – caprica
@caprica來開始該項目,我將該項目導入Eclipse作爲Maven項目。我仍然得到確切的錯誤。爲了確保,我嘗試了幾次。不太確定爲什麼我仍然得到錯誤。 – Dan
我歡迎@ caprica的視角;我的目標是在Swing設計中引用基本教程。 – trashgod