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.addControlle
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)