package com.test.deom;
import uk.co.caprica.vlcj.player.base.Marquee;
import uk.co.caprica.vlcj.player.base.MarqueePosition;
import uk.co.caprica.vlcj.player.base.MediaPlayer;
import uk.co.caprica.vlcj.player.base.MediaPlayerEventAdapter;
import uk.co.caprica.vlcj.player.component.EmbeddedMediaPlayerComponent;
import javax.management.JMRuntimeException;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class GuiVideoPlayer {
private final JFrame frame;
private final EmbeddedMediaPlayerComponent mediaPlayerComponent;//声明EmbeddedMediaPlayerComponent对象
public String nextMrl="a.mp4";//下一个视频的文件名,改成你自己
//菜单栏相关组件
public JMenuBar jmb= new JMenuBar();
public JMenuItem jmi= new JMenuItem();//菜单
public JMenu jmu=new JMenu();//
public GuiVideoPlayer(String[] args) {
JPanel containpane =new JPanel();//用来放视频组件已经控制面板
JPanel control =new JPanel();//播放控制面板
frame = new JFrame("My First Media Player");
frame.setBounds(100, 100, 600, 400);//定位、设置大小
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
//监听窗口关闭
@Override
public void windowClosing(WindowEvent e) {
mediaPlayerComponent.release();
System.exit(0);
}
});
mediaPlayerComponent = new EmbeddedMediaPlayerComponent();//创建EmbeddedMediaPlayerComponent对象
Marquee marquee = Marquee.marquee()//这里是给视频添加字幕
.text("该程序由wocnz创建")
.size(50)
.colour(Color.RED)
.timeout(2000)
.position(MarqueePosition.TOP_LEFT)
.opacity(0.8f)
.enable(true);
marquee.apply(mediaPlayerComponent.mediaPlayer());
JButton pause=new JButton("pause");//暂停按钮
JButton skip=new JButton("skip");//快进按钮
JButton rewind=new JButton("rewind");//后退按钮
control.add(pause);
control.add(skip);
control.add(rewind);
containpane.setLayout(new BorderLayout());
containpane.add(mediaPlayerComponent,BorderLayout.CENTER);
containpane.add(control,BorderLayout.SOUTH);
pause.addActionListener(new ActionListener() {
//暂停
@Override
public void actionPerformed(ActionEvent actionEvent) {
mediaPlayerComponent.mediaPlayer().controls().pause();
}
});
skip.addActionListener(new ActionListener() {
//快进按钮注册监听事件
@Override
public void actionPerformed(ActionEvent actionEvent) {
mediaPlayerComponent.mediaPlayer().controls().skipTime(10000);//前进10秒
}
});
rewind.addActionListener(new ActionListener() {
//后退按钮注册监听事件
@Override
public void actionPerformed(ActionEvent actionEvent) {
mediaPlayerComponent.mediaPlayer().controls().skipTime(-10000);//后退10秒
}
});
jmi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
JOptionPane.showMessageDialog(frame,"这个没什么");
}
});
frame.setJMenuBar(jmb);//设置JMenuBar
jmu.setText("选择文件");
jmi.setText("列表");
jmb.add(jmu);//添加菜单
jmu.add(jmi);//添加菜单项
jmb.add(new JMenu("eidt"));//添加菜单栏
frame.setContentPane(containpane);
frame.setVisible(true);
//给视频组件注册监听事件,重写playing、finished、error方法
mediaPlayerComponent.mediaPlayer().events().addMediaPlayerEventListener(new MediaPlayerEventAdapter(){
@Override
public void playing(MediaPlayer mediaPlayer){
JOptionPane.showMessageDialog(null,"开始播放视频");
}
@Override
public void finished(MediaPlayer mediaPlayer){
JOptionPane.showMessageDialog(null,"视频播放完成");
mediaPlayer.submit(new Runnable() {
@Override
public void run() {
//mediaPlayer.media().play(nextMrl);
//视频播放结束后播放下面的www.mp4视频
//注意mediaPlayer.media().play()方法需要传入一个字符串,代表了播放文件的位置,但是它默认以当前程序运行路径+传入的字符串作为真正的文件播放路径
//所以这里需要new File对象,获得该文件的绝对路径再去传入
File f=new File("E:/www.mp4");
mediaPlayer.media().play(f.getAbsolutePath());
}
});
}
});
mediaPlayerComponent.mediaPlayer().media().play("1.mp4");//这里是从当前程序的运行目录去查找
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
JavaGuiDeomo.zip (35个子文件)
lib
vlcj-4.7.1.jar 378KB
vlcj-natives-4.1.0.jar 88KB
jna-platform-5.2.0.jar 2.41MB
jna-5.2.0.jar 1.42MB
src
META-INF
MANIFEST.MF 187B
com
test
deom
GuiDemoFrame.java 4KB
GuiDemoApplication.java 267B
GuiVideoPlayer.java 5KB
CppLibrary.java 235B
PlatformUtils.java 315B
out
production
JavaGuiDeomo
META-INF
MANIFEST.MF 187B
com
test
deom
GuiVideoPlayer.class 5KB
GuiDemoFrame$1.class 1KB
GuiDemoFrame$2.class 2KB
GuiVideoPlayer$6.class 1KB
PlatformUtils.class 668B
GuiDemoApplication.class 535B
GuiVideoPlayer$3.class 1KB
GuiVideoPlayer$4.class 1KB
GuiVideoPlayer$5.class 952B
GuiVideoPlayer$2.class 1KB
GuiVideoPlayer$6$1.class 1KB
GuiDemoFrame.class 2KB
CppLibrary.class 259B
GuiVideoPlayer$1.class 979B
vlc-3.0.18-1.el7.x86_64.rpm 1.52MB
.idea
artifacts
JavaGuiDeomo_jar.xml 602B
libraries
lib.xml 342B
workspace.xml 10KB
misc.xml 278B
checkstyle-idea.xml 626B
modules.xml 271B
.gitignore 0B
JavaGuiDeomo.iml 621B
1.mp4 1.14MB
共 35 条
- 1
资源评论
coolsirLee
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功