} catch (java.io.IOException e2) {
System.out.println(e2);
return;
} catch (NoPlayerException e2) {
System.out.println("不能找到播放器.");
return;
}
if (player == null) {
System.out.println("无法创建播放器.");
return;
}
first = false;
this.setTitle(fileDialog.getFile());
// 播放器的控制事件处理
player.addControllerListener(this);
// 预读文件内容
player.prefetch();
}
/**
* 实现ControllerListener接口的方法 , 处理播放器的控制事件
*/
public void controllerUpdate(ControllerEvent e) {
// 调用player.close()时ControllerClosedEvent事件出现 。
// 如果存在视觉部件,则该部件应该拆除(为一致起见 ,
// 我们对控制面板部件也执行同样的操作)
if (e instanceof ControllerClosedEvent) {
if (vedioComponent != null) {
this.getContentPane().remove(vedioComponent);
this.vedioComponent = null;
}
if (controlComponent != null) {
this.getContentPane().remove(controlComponent);
this.controlComponent = null;
}
return;
}
// 如果是媒体文件到达尾部事件
if (e instanceof EndOfMediaEvent) {
if (loop) {
// 如果允许循环,则重新开始播放
player.setMediaTime(new Time(0));
player.start();
}
return;
}
// 如果是播放器预读事件
if (e instanceof PrefetchCompleteEvent) {
// 启动播放器
player.start();
return;
}
// 如果是文件打开完全事件 , 则显示视频组件和控制器组件
if (e instanceof RealizeCompleteEvent) {
vedioComponent = player.getVisualComponent();
if (vedioComponent != null){
this.getContentPane().add(vedioComponent);
}
controlComponent = player.getControlPanelComponent();
if (controlComponent != null){
this.getContentPane().add(controlComponent, BorderLayout.SOUTH);
}
this.pack();
}
}
// 处理“循环”复选框菜单项的点击事件
public void itemStateChanged(ItemEvent e) {
loop = !loop;
}
public static void main(String[] args){
new JMFMediaPlayer("JMF媒体播放器");
}
}
试试吧,我这里运行正常
谁知道如何用纯JAVA代码播放视频文件(可以播放一种视频文件,如mp4,就可以了)你好!我们所说的mp4仅仅只是一种视频
封装格式
, 里面的
视频流
却有各种编码格式!就像瓶子装水一样,“瓶子”有各种形状,如mp4
avi
wmv
rmvb等等…而其中装的是什么液体就不一定了!所以,看似都是.mp4文件,它的编码格式可能是H.246编码,也可能是...
java怎样实现打开视频文件import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.media.*;
// 视频播放程序
public class VideoPlayDemo extends JFrame {
private Player player; // 播放器对象
private Component visualMedia; // 视频显示组件
private Component mediaControl; // 视频播放控制组件
private Container container; // 主容器
private File mediaFile; //媒体文件
private URL fileURL; //媒体文件URL地址
public VideoPlayDemo() { // 构造函数
super("视频播放程序"); //调用父类构造函数
container = getContentPane(); //得到窗口容器
JToolBar toobar = new JToolBar(); //实例化工具栏
JButton openFile = new JButton("打开媒体文件"); //实例化按钮
toobar.add(openFile); //增加按钮到工具栏
JButton openURL = new JButton("打开网络地址");
toobar.add(openURL);
container.add(toobar, BorderLayout.NORTH); //设置工具栏
推荐阅读
- 经营餐厅类游戏排行榜大全,好玩的经营餐厅类游戏
- python字符串怎么去掉引号,python字符串去掉引号变成本来数据类型
- 幼儿益智小游戏警察捉小偷,儿童智力游戏警察抓小偷
- java代码需要编译,java中的程序代码都必须
- Python统计数量函数 python中如何统计个数
- oracle用rowid快速遍历全表的简单介绍
- sap有哪些部门,sap 行业
- 射击类网络游戏排名,射击类网络游戏排行榜
- c语言编程判断闰年函数 c语言判断闰年的条件