JMF 错误

问题描述

packagecom.jake.camera.test;importjava.io.IOException;importjava.util.Vector;importjavax.media.CaptureDeviceInfo;importjavax.media.CaptureDeviceManager;importjavax.media.DataSink;importjavax.media.Manager;importjavax.media.MediaLocator;importjavax.media.Processor;importjavax.media.control.StreamWriterControl;importjavax.media.format.AudioFormat;importjavax.media.format.VideoFormat;importjavax.media.protocol.DataSource;importjavax.media.protocol.FileTypeDescriptor;importnet.sf.fmj.media.RegistryDefaults;importnet.sf.fmj.media.cdp.GlobalCaptureDevicePlugger;publicclassCaptureAll{/**<一句话功能简述>*<功能详细描述>*@paramargs*@see[类、类#方法、类#成员]*/publicstaticvoidmain(String[]args){ProcessorrecordProcessor=null;StateHelpersh=null;//查询CaptureDeviceManager,来定位你需要使用的媒体采集设备。//FMJRegistryDefaults.registerAll(RegistryDefaults.FMJ|RegistryDefaults.FMJ_NATIVE);GlobalCaptureDevicePlugger.addCaptureDevices();Vector<CaptureDeviceInfo>audioDeviceList=CaptureDeviceManager.getDeviceList(newAudioFormat(AudioFormat.LINEAR,44100,16,2));CaptureDeviceInfoaudioDevice=audioDeviceList.get(0);Vector<CaptureDeviceInfo>videoDeviceList=CaptureDeviceManager.getDeviceList(newVideoFormat(VideoFormat.RGB));CaptureDeviceInfovideoDevice=(CaptureDeviceInfo)videoDeviceList.get(0);try{MediaLocatoraudioMediaLocator=audioDevice.getLocator();MediaLocatorvideoMediaLocator=videoDevice.getLocator();DataSourceaudioDataSource=Manager.createDataSource(audioMediaLocator);DataSourcevedioDataSource=Manager.createDataSource(videoMediaLocator);DataSource[]sources=newDataSource[2];sources[0]=audioDataSource;sources[1]=vedioDataSource;DataSourcemergeSource=Manager.createMergingDataSource(sources);recordProcessor=Manager.createProcessor(mergeSource);//获得MediaLocator,并由此创建一个Processor。sh=newStateHelper(recordProcessor);}catch(Exceptione){e.printStackTrace();System.exit(-1);}//Configuretheprocessorif(!sh.configure(10000)){System.out.println("configurewrong!");System.exit(-1);}VideoFormatvfmt=newVideoFormat(VideoFormat.RGB);AudioFormatafmt=newAudioFormat(AudioFormat.LINEAR);(recordProcessor.getTrackControls())[0].setFormat(afmt);(recordProcessor.getTrackControls())[0].setEnabled(true);(recordProcessor.getTrackControls())[1].setFormat(vfmt);(recordProcessor.getTrackControls())[1].setEnabled(true);//定义待存储该媒体的内容类型(contenttype)。recordProcessor.setContentDescriptor(newFileTypeDescriptor(FileTypeDescriptor.WAVE));//realizetheprocessor.if(!sh.realize(10000)){System.out.println("realizewrong!");System.exit(-1);}//获取音频数据流DataSourcesource=recordProcessor.getDataOutput();//定义存储该媒体的文件。MediaLocatordest=newMediaLocator(newjava.lang.String("file:///E:/video.wav"));//创建一个数据池DataSinkfilewriter=null;try{filewriter=Manager.createDataSink(source,dest);filewriter.open();}catch(Exceptione){e.printStackTrace();System.exit(-1);}//获取音频录制流StreamWriterControlswc=(StreamWriterControl)recordProcessor.getControl("javax.media.control.StreamWriterControl");recordProcessor.start();//限制录制音频的大小//swc.setStreamSizeLimit();//开始录制try{filewriter.start();}catch(IOExceptione){e.printStackTrace();System.exit(-1);}//Capturefor5seconds设置录制sh.playToEndOfMedia(60000);sh.close();filewriter.close();System.out.println("CaptureAudiosuccess.");}}报错:2011-9-1013:42:10net.sf.fmj.ffmpeg_java.FFMPEGParser<init>警告:Unabletoinitializeffmpeglibraries:java.lang.UnsatisfiedLinkError:Cannotlocatelibraryavformat-51Java_com_lti_civil_impl_jni_NativeCaptureStream_stop,stopping...DSCaptureStream::stop,stopping...DSCaptureStream::stop,stopped.Java_com_lti_civil_impl_jni_NativeCaptureStream_stop,stopped.Unabletohandleformat:LINEAR,44100.0Hz,16-bit,Stereo,LittleEndian,SignedUnabletohandleformat:RGB,640x480,FrameRate=30.0,24-bit,Masks=3:2:1,PixelStride=3,LineStride=1920Failedtorealize:com.sun.media.ProcessEngine@1e0ff2fError:Unabletorealizecom.sun.media.ProcessEngine@1e0ff2frealizewrong!请问什么原因?谢谢。

时间: 2024-10-02 00:38:39

JMF 错误的相关文章

java-求助:用JMF播放视频出现错误

问题描述 求助:用JMF播放视频出现错误 之前看到一个帖子->链接:http://bbs.csdn.net/topics/390362989 说的是:[解决办法: 对播放的视频用格式工厂进行转码,我转成avi 320X240 mjpeg pcm 格式,程序可以顺利运行.] 我之后用了格式工厂转码,配置也是avi 320X240 mjpeg pcm ,然后试了所有的视频编码格式,除了有声音视频都放不出来 错误为: Unable to handle format: MJPG, 320x240, Fr

web and jmf-WEB项目中导入JMF jar包部署到tomcat上出错

问题描述 WEB项目中导入JMF jar包部署到tomcat上出错 错误信息如下: 解决方案 Eclipse部署Java Web项目到Tomcat出错 解决方案二: 违规访问造成的.换一个低版本的包试试

jmf安装后的JMstudio相关问题

问题描述 安装了jmf-2_1_1e-windows-i586后桌面上出现了JMstudio,打开后只能播放MP3文件,和经过JMstudio程序本身捕获后,保存的AVI文件,其他视频文件都不能播放,提示有时候是controlerror:Failedtorealize:failedtoparsetheinputmedia;但有时又是inputmedianotsupported:xvidvideo,mpeglayer2audio.这个JMstudio到底支持什么样的文件,最近要用JMF做一个媒体播

JMF Could not connect to capture device

问题描述 java.io.IOException:Couldnotconnecttocapturedevice我用java的JMF框架去获取摄像头,拍照,第一次运行程序的时候,一切正常,第二次或以上运行的时候都有这个错误信息,在网上查了下说是win7不兼容JMF,想问下大家有没有解决的办法 解决方案 解决方案二:建议换个兼容jmf的驱动解决方案三:jmf--java媒体框架解决方案四:求解答...解决方案五:问题解决了吗?我也想问这个问题!解决方案六:该回复于2014-09-22 08:48:0

“无法创建网站,未指定的错误”错误的解决方法

在Win7系统中使用IE浏览器时,通常情况下都会将自己喜欢的网页添加到收藏夹,也是便后继快捷打开使用.然而在用户打开网页,点击"添加到收藏夹"按钮时,系统却突然弹出了一个"无法创建网站,未指定的错误"的提示窗口.这种状况是由于转移了收藏夹位置,收藏夹对新的文件夹没有完全控制的权限,从而导致添加网址失败的问题,出现收藏夹项目无法查看和刷新的情况,怎么办呢?小编以雨林木风win7旗舰版64位系统为例给大家分享IE无法添加网址到收藏夹简单的解决方案,具体如下: 1.在Wi

解决win7系统唤醒休眠状态出现“拒绝访问”错误的方法

  windows休眠状态是指将所有运行的实时数据存储到硬盘上,并且关闭一切不必要的硬件从而节省电量,无论你所使用的windows是哪个版本,系统都能够让用户自动进入休眠状态,当然在你没有关闭休眠功能的前提下,不过在近期有部分win7用户反映,将系统从休眠状态唤醒时,出现"拒绝访问"的错误,对于该问题我们如何解决呢?下面看为您带来的解决方法! 解决win7系统唤醒休眠状态出现"拒绝访问"错误的方法 第一步.进入Win7系统后,我们在键盘中按"Win+R&q

Win8出现“wermgr.exe - Application Error”的错误

  故障现象: 无法打开EXE文件或程序,wermgr.exe应用程序错误,应用程序错误0x801d8ed0指令引用的0x801d8ed0该内存不能为write 解决方案: 发现原来是"搜狗拼音输入法"导致的,即如果在系统中使用"搜狗拼音输入法"时打开程序软件就会产生"wermgr.exe"的错误(甚至在更改权限的时候也遭到出错).解决方法就是将输入法更改为"ENG"或是"微软拼音输入法"就可以解决问题了.

6大PS里最常见的讨厌错误

  润饰照片是一个专门的学问,所谓最强的PS技术其实就是看不出有PS过.然而在把软件运用自如前,很多人在修图时可能都会犯下一些错误.摄影师Ryan Cooper就写了一篇文章,指出他常常见到的六种PS错误. 以下有一些比较极端的示范例子,让大家能够明显看到差别: 1.恶魔之眼 修图的对象是人类对吧?那就不要把眼白都PS 得像怪物一样发光.记住眼白不是永远也是白色的,如果修图时想把眼睛调亮一点,试试在调光后把图层的透明度变成50%,人的眼睛晴就会自然多了. 2.莫名奇妙的耀光 在制作一个假的耀光前

vs2012-求问,&amp;amp;quot;lnk1158 无法运行rc.exe&amp;amp;quot;错误怎么解决?

问题描述 求问,"lnk1158 无法运行rc.exe"错误怎么解决? 我用的VS2012,一直用的好好地,但是今天突然在编译x64程序的时候出现"lnk1158 无法运行rc.exe"错误.相同的win32程序则未出现此错误. 重装编译器和windows sdk之后无法解决,windows sdk路径应该正确.求问有没有什么解决方法. 解决方案 重装VS2012,看来是被SDK影响了rc.exe工具. 解决方案二: 或者卸掉SDK,直接用VS2012自带的rc.e