java视频播放器源代码
来源:互联网 发布:网络直播教学平台 编辑:程序博客网 时间:2024/05/17 14:29
import java.awt.*;import java.io.*;import java.util.*;import javax.media.*;import javax.media.format.*;import javax.swing.*;public class VideoPlayer implements ControllerListener { Vector audioCapDevList = null; Vector videoCapDevList = null; CaptureDeviceInfo audioCapDevInfo = null; CaptureDeviceInfo videoCapDevInfo = null; MediaLocator audioCapDevLoc = null; MediaLocator videoCapDevLoc = null; Player audioPlayer; Player videoPlayer; public void initAudioCapDevLoc() { //这里可以填写其它的音频编码格式,具体请看AudioFormat类 audioCapDevList = CaptureDeviceManager.getDeviceList(new AudioFormat( AudioFormat.LINEAR)); if ((audioCapDevList.size() > 0)) { //或许有几个CaptureDevice,这里取第一个 audioCapDevInfo = (CaptureDeviceInfo) audioCapDevList.elementAt(0); audioCapDevLoc = audioCapDevInfo.getLocator(); } else { System.out.println("找不到音频采集设备"); System.exit(0); } } public void initVideoCapDevLoc() { //这里可以填写其它的编码视频格式,具体请看VideoFormat类 videoCapDevList = CaptureDeviceManager.getDeviceList(new VideoFormat( VideoFormat.YUV)); if ((videoCapDevList.size() > 0)) { //或许有几个CaptureDevice,这里取第一个 videoCapDevInfo = (CaptureDeviceInfo) videoCapDevList.elementAt(0); videoCapDevLoc = videoCapDevInfo.getLocator(); } else { System.out.println("找不到视频采集设备"); System.exit(0); } } public void initAudioPlayer() { try { audioPlayer = Manager.createPlayer(audioCapDevLoc); } catch (NoPlayerException ex) { } catch (IOException ex) { } //增加一个侦听器,侦听player状态的改变 audioPlayer.addControllerListener(this); audioPlayer.realize(); } public void initVideoPlayer() { try { videoPlayer = Manager.createPlayer(videoCapDevLoc); } catch (NoPlayerException ex) { } catch (IOException ex) { } //增加一个侦听器,侦听player状态的改变 videoPlayer.addControllerListener(this); videoPlayer.realize(); } public void stopAndClosePlayer(){ audioPlayer.stop(); audioPlayer.close(); videoPlayer.stop(); videoPlayer.close(); } public synchronized void controllerUpdate(ControllerEvent ce) { Player p = (Player) ce.getSourceController(); JFrame jFrame = new JFrame(); Component com; if (p == null) { return; } //如果player的状态变为Realized if (ce instanceof RealizeCompleteEvent) { if ((com = p.getControlPanelComponent()) != null) { jFrame.add(com, BorderLayout.SOUTH); } if ((com = p.getVisualComponent()) != null) { jFrame.add(com, BorderLayout.NORTH); } jFrame.setVisible(true); jFrame.pack(); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); p.start(); } } public static void main(String args[]) { VideoPlayer cap = new VideoPlayer(); cap.initAudioCapDevLoc(); cap.initVideoCapDevLoc(); cap.initAudioPlayer(); cap.initVideoPlayer(); try { Thread.currentThread().sleep(20000);//20秒后停止并关闭播放器 } catch (InterruptedException ex) { } cap.stopAndClosePlayer(); }}
- java视频播放器源代码
- 视频播放器源代码解释
- java视频播放器
- java调用播放器并播放视频
- java制作视频播放器
- java jmf视频播放器无法播放视频问题
- 零基础读懂视频播放器控制原理——ffplay播放器源代码分析
- 【FFplay】零基础读懂视频播放器控制原理——ffplay播放器源代码分析
- 零基础读懂视频播放器控制原理: ffplay 播放器源代码分析
- 播放源代码器全集(网页中插入视频播放代码)
- 播放源代码器全集(网页中插入视频播放代码)
- 用java开发视频播放器
- java jsp html嵌入视频播放器
- java简单视频播放器笔记
- Java视频播放器的制作
- 用JAVA写一个视频播放器
- java利用播放器爆视频
- vlcj--java-制作视频播放器
- 大胆决定+细致用功, 才可能改变命运
- Hive优化--join
- 数学之路(3)-机器学习(3)-机器学习算法-SVM[9]
- Hive优化----通过实例分析mapjoin的优越性
- 理解 pkg-config 工具
- java视频播放器源代码
- oracle中的dblink的创建(二)
- 制作自己的具有透明化背景的电子版手写体
- Hive优化----系统评估reduce数为1的MR Job优化
- XDebug安装配置及使用
- QPrinter Class Reference
- Hive优化----distribute by和sort by
- 双系统重装后的引导项的修复 windows+linux
- hdu4737 A Bit Fun (2013 网络赛 成都赛区)