资源简介
用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); //设置工具栏
openFile.addActionListener(new ActionListener() { //打开文件按钮事件处理
public void actionPerformed(ActionEvent event) {
JFileChooser fileChooser = new JFileChooser(); //实例化文件选择器
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);//设置文件打开模式为仅打开文件
int result = fileChooser.showOpenDialog(VideoPlayDemo.this);//显示对话框
if (result == JFileChooser.APPROVE_OPTION) { //得到用户行为
mediaFile = fileChooser.getSelectedFile(); //得到选择的文件
}
if (mediaFile != null) {
try {
fileURL = mediaFile.toURL(); //得到文件的URL地址
} catch (MalformedURLException ex) {
ex.printStackTrace(); //输出错误信息
showMessage(“打开错误“); //显示错误信息
}
startPlayer(fileURL.toString()); //开始播放打开的文件
}
}
});
openURL.addActionListener(new ActionListener() { //打开URL按钮事件处理
public void actionPerformed(ActionEvent event) {
String addressName =JOptionPane.showInputDialog(VideoPlayDemo.this “输入URL地址“);
if (addressName != null)
startPlayer(addressName); //开始播放打开的URL
}
});
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER Boolean.TRUE);
setSize(300 200); //设置窗口大小
setVisible(true); //设置窗口为可视
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
//初始化播放器
public void startPlayer(String mediaLocation) {
if (player != null)
//如果播放器非空则移去先前的播放器组件
if (visualMedia != null)
container.remove(visualMedia); //如果对象visualMedia非空则移去
if (mediaControl != null) {
container.remove(mediaControl); //如果对象mediaControl非空则移去
player.close(); //关闭播放器
}
MediaLocator mediaLocator = new MediaLocator(mediaLocation); //媒体定位器
if (mediaLocator == null) {
showMessage(“打开文件错误“); //显示错误信息
return;
}
try {
player = Manager.createPlayer(mediaLocator); //得到播放器实例
player.addControllerListener(new PlayerEventHandler()); //增加播放控制器
player.realize();
} catch (Exception ex) {
ex.printStackTrace();
showMessage(“打开错误“); //显示错误信息
}
}
//取得媒体组件
public void getMediaComponents() {
visualMedia = player.getVisualComponent(); //取得视频显示组件
//如果对象visualMedia非空则加入到窗口内容窗格
if (visualMedia != null) {
container.add(visualMedia BorderLayout.CENTER);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 324054 2004-06-06 09:49 实例41 视频播放程序\47-1.bmp
文件 1332 2004-07-21 10:40 实例41 视频播放程序\VideoPlayDemo$1.class
文件 693 2004-07-21 10:40 实例41 视频播放程序\VideoPlayDemo$2.class
文件 1182 2004-07-21 10:40 实例41 视频播放程序\VideoPlayDemo$Pla
文件 3227 2004-07-21 10:40 实例41 视频播放程序\VideoPlayDemo.class
文件 4365 2004-06-05 15:40 实例41 视频播放程序\VideoPlayDemo.java
目录 0 2007-03-28 10:43 实例41 视频播放程序
----------- --------- ---------- ----- ----
335071 8
相关资源
- Java web学生信息管理网页版
- DigitalImageProcessingAnAlgorithmicIntroductio
- java魔板游戏
- 一个类似超级玛丽的Java游戏
- 淘宝商城Java web项目
- 简单的JAVA日记本程序源代码
- eas服务接口用于提供一种跨产品的j
- java实现大周期线性反馈移位寄存器
- java课程设计代码
- 简易QQ聊天软件自己编写
- java注册表清理
- java单功能流水线调度
- Java实现高级计算器
- MPI及其JAVA实现
- 国内几个公司的Java面试试题
- Neo4j+java实现的excel导入基本通讯录软
- JAVA实现 中点画线算法、Bresenham画线算
- 泰牛程序员 韩顺平 JavaEE全套 第05部分
- 韩顺平JavaEE全套,第一部分:循序渐
- Qrcode.jar
- Java接口自动化测试实战.zip
- 基于Java的桌球小游戏
- Java爬虫获取网页表格数据保存到MyS
- JAVA简单的游戏登录界面
- 石大远程在线考试-《Java语言程序设计
- 数据库系统原理课程设计实验java模拟
- Java翁恺网易公开课Shapes.zip
- 通讯录管理系统(java+sql)
- Java Cipher
- java编写的计算器,实现windows标准型计
评论
共有 条评论