JMF捕获技术(视频)

最近由于项目要求要获取视频.

在网上找了些代码又对其修改.

这个是视频类.

package com.cayden.video; import java.awt.Component; import java.awt.Frame; import java.awt.Panel; import java.io.IOException; import javax.media.CaptureDeviceInfo; import javax.media.CaptureDeviceManager; import javax.media.ControllerEvent; import javax.media.ControllerListener; import javax.media.Manager; import javax.media.MediaLocator; import javax.media.NoPlayerException; import javax.media.Player; import javax.media.PrefetchCompleteEvent; import javax.media.RealizeCompleteEvent; import javax.media.bean.playerbean.MediaPlayer; import javax.swing.JFrame; class CaptureVideo extends JFrame implements ControllerListener { private CaptureDeviceInfo infor ; private MediaLocator mediaLocator ; private String url = "vfw:Microsoft WDM Image Capture (Win32):0"; private Component com; private Panel panel ; Player player; public CaptureVideo() { infor = CaptureDeviceManager.getDevice(url); mediaLocator = infor.getLocator(); } public void player() { try { player =Manager.createPlayer(mediaLocator);//利用mediaLocator创建Player player.addControllerListener(this); player.realize(); } catch (NoPlayerException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } public void createComponent() { setTitle("视频信号"); setBounds(100,100,640,480); panel = new Panel(); if((com = player.getVisualComponent()) != null) { panel.add(com); } add(panel); setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public synchronized void controllerUpdate(ControllerEvent arg0) { // TODO 自动生成方法存根 if(arg0 instanceof RealizeCompleteEvent) { System.out.println("realized"); createComponent(); //将播放器添加到Panel上 player.prefetch(); } if(arg0 instanceof PrefetchCompleteEvent) { player.start(); System.out.println("prefetched"); } } }

下面的是测试类

package com.cayden.video; public class Test { public static void main(String[] args) { CaptureVideo video = new CaptureVideo(); video.player(); } }

参考网址:

http://www.wangchao.net.cn/bbsdetail_793851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值