JMF 多媒体

最近做一个项目用到JMF框架摄像:

先到sun官网下载JMF,安装,我的测试环境是win2003 摄像处理需用到以下类 Player player = null; CaptureDeviceInfo di = null; MediaLocator ml = null; 首先,要初始化摄像头 String str1 = "vfw:Logitech USB Video Camera:0"; //这一个设备名可以到JMStudio中注册的设备中查找 String str2 = "vfw:Microsoft WDM Image Capture (Win32):0"; di = CaptureDeviceManager.getDevice(str2); ml = di.getLocator(); player = Manager.createRealizedPlayer(ml); player.start(); 这样设置已初始化完毕 接下来, 开始拍照取图了 FrameGrabbingControl fgc = (FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl"); // 获取当前祯并存入Buffer类 //这里需注意一个问题,在设备初始化后不能立即抓图,会有一个延迟,这个错误让我调了半天~~! //错误是image总会抛NullPointer 解决办法: 可以先抓一祯Buff buf = fgc.grabFrame(); 然后再int length = buf.getLength(); 如果length>0说明有图片,这时就可以抓图处理了。 Buff buf = fgc.grabFrame(); BufferToImage btoi = new BufferToImage((VideoFormat) buf.getFormat()); Image image = btoi.createImage(buf);

 

附加图:

设备名查找

 

你可能感兴趣的:(image,String,Microsoft,video,buffer,sun)