- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于JMF语音视频捕获
JMF捕获
首先介绍一些该用到的术语(类)
●截取设备(CaptureDeviceInfo)
●数据格式(Format)
●定位器(MediaLocator)
●数据源(Data source)●播放器(Player)
●处理器(Processor)
●管理器(Manager)
●数据保存(DataSink)
个人理解这些类:
截取设备(CaptureDviceInfo)是检查是否有视频或者语音设备,一般用向量(Vector)泛型接住,视频和语音是样的。
定位器(MediaLocator) 既然我们用vector接住此设备信息。然后我们可以拿出这个信息进行此信息来源的定位,意思就是比如说别人寄一封信给你,然后你可以通过信上的信息得到他在哪个地方,我们可以通过这个信息去找到他。定位器的工作也就是跑到设备面前说:黑呀,它在这里!
数据源(DataSource) 既然定位器找到了设备所在地,那么接下来我们是不是可以让这个设备拿出一点小意思(找的辛苦啊),那么我们就得和管理员(Manager)说一声叫他让这个设备给我们工作,传出一点什么来(数据)。
数据格式(Format) 既然把数据源拿出来了,我们要确定它的格式,就像视频文件有很多种格式(rmvb,avi········),总要有我们播放器(Player)能识别的吧。其实数据格式在截取设备之时就给定了(代码会给出)
播放器(Player)播放器有很多种状态,我就只说一种,如果有机会介绍RTP传输协议的话,我会逐一解释。因为我们的数据源的来源是已经完全确定下来了的,所以它是一个Realized状态
管理器(Manager) 顾名思义,我们在这某地方做什么事情都有个管事的人不?所以这个人的权利不可小觑,自己慢慢领悟。
数据保存(DataSink) 这个就是我们所说的视频语音的现场拍摄吧,都把自己拍的东东保存下来了,以后可以看看,呵呵。
处理器(Processor) 数据保存需要有人去保存不,所以就叫处理器去做这个工作咯,处理器还有传输数据的功能
好了,大概的也就介绍完毕,废话少说,摆代码了:
这是个方法,如果你自己都不会写GUI的话,那到此打住吧
顺便说一下:在运行此方法之前,如果是用Eclipse,你需要安装JMF,然后在你建立的工程里面导入jmf.jar包。怕有些人不懂还是给一下步骤吧:工程名那里点击右键(BuildPath(Configure BuildPath(java Build Path(Libraries(Add External JARs(找到你所安装JMF的安装路径里面的lib文件夹里面确定jmf.jar(Program Files/JMF2.1.1e/lib)
public void initVedio() throws NoDataSourceException, IOException, IncompatibleSourceException, NoPlayerException, CannotRealizeException{
////////////////////////////////////////////////////////
//由于JMF与win7不兼容缘故,这段话可以避免你在win7里面运行时出现问
//题的解决方案,如果是XP那就免了
String name = VFWCapture.capGetDriverDescriptionName(0);
if(name !=null){
VFWSourceStream.autoDetect(0);
}else{
JOptionPane.showMessageDialog(this, 无视频驱动);
}
VectorCaptureDeviceInfo video =
CaptureDeviceManager.getDeviceList(new VideoFormat(null));
//此为截取音频设备,这两个截取都给了Format
//音频设备格式是固定给予的
VectorCaptureDeviceInfo audio =
CaptureDeviceManager.getDeviceList(new AudioFormat(
AudioFormat.LINEAR,44100,16,2
));
//定义数据源
DataSource audioDataLocal = null;
DataSource videoDataLocal = null;
//如果音频设备捕捉不为空就让定位器(MediaLocator)去定位
if(audio !=null audi
您可能关注的文档
最近下载
- 西点制作教程(第二版)全套PPT课件.pptx
- 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
- 儿童结核病病例分析.pptx VIP
- 2025年中考时政热点《中国春节申遗成功》课件.pptx
- 小学英语北京版一年级起点《五年级下册Lesson23》PPT课件_1.ppt
- 天然气管道安装施工方案.docx
- 教师党员查摆问题及整改措施.docx VIP
- 热点03 创新驱动发展 科技领航未来(课件)-2025年中考道德与法治二轮复习专题讲练(全国通用).pptx
- DELIXI德力西电气JKL5C JKL2C说明书-2022.pdf
- 标准图集-19BJ2-12-外墙外保温.pdf VIP
文档评论(0)