我已經創建了一個java swing應用程序,我使用VLCJ在畫布上運行視頻。一切都很好,但現在我需要添加播放/暫停按鈕和滑塊。所以我的問題是如何添加一個可以暫停我的視頻的actionlistener。這裏是我的代碼如何添加Actionlisteners到視頻應用程序
import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.player.MediaPlayerFactory;
import uk.co.caprica.vlcj.player.embedded.EmbeddedMediaPlayer;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;
import com.sun.media.MediaPlayer;
public class Player implements ActionListener{
JButton b1;
Player vid = null;
JButton playbutton, pausebutton;
public static void main(final String[] args) {
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files (x86)\\VideoLAN\\VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new Player(args);
}
});
}
private Player(String[] args) {
JFrame frame = new JFrame("vlcj Tutorial");
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory();
Canvas c = new Canvas();
c.setBackground(Color.black);
JPanel p = new JPanel();
c.setBounds(100, 500, 1050, 500);
p.setLayout(new BorderLayout());
p.add(c, BorderLayout.CENTER);
p.setBounds(100, 50, 1050, 600);
frame.add(p, BorderLayout.NORTH);
JPanel p1 = new JPanel();
p1.setBounds(100, 900, 105, 200);
frame.add(p1, BorderLayout.SOUTH);
playbutton =new JButton();
playbutton.setIcon(new ImageIcon("pics/playbutton.png"));
playbutton.setBounds(50, 50, 150, 100);
playbutton.addActionListener((ActionListener) this);
p1.add(playbutton);
pausebutton=new JButton();
pausebutton.setIcon(new ImageIcon("pics/pausebutton.png"));
pausebutton.setBounds(80, 50, 150, 100);
p1.add(pausebutton);
EmbeddedMediaPlayer mediaPlayer = mediaPlayerFactory.newEmbeddedMediaPlayer();
// c.addComponentListener((ComponentListener) mediaPlayer);
mediaPlayer.setVideoSurface(mediaPlayerFactory.newVideoSurface(c));
frame.setLocation(100, 100);
frame.setSize(1050, 600);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
mediaPlayer.playMedia("D:\\Facebook.mp4");
//NativeLibrary.addSearchPath("libvlc", "C:\\Program Files (x86)\\VideoLAN\\VLC");
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
}
非常感謝卡布裏卡。有效!!! –
這很好,也許你應該接受解決這個問題的答案? – caprica