利用JMF进行多媒体编程

上传人:工**** 文档编号:559102087 上传时间:2023-02-15 格式:DOCX 页数:13 大小:109.66KB
返回 下载 相关 举报
利用JMF进行多媒体编程_第1页
第1页 / 共13页
利用JMF进行多媒体编程_第2页
第2页 / 共13页
利用JMF进行多媒体编程_第3页
第3页 / 共13页
利用JMF进行多媒体编程_第4页
第4页 / 共13页
利用JMF进行多媒体编程_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《利用JMF进行多媒体编程》由会员分享,可在线阅读,更多相关《利用JMF进行多媒体编程(13页珍藏版)》请在金锄头文库上搜索。

1、利用JMMF进行行多媒体体编程Javaa媒体框框架(JJMF)使使你能够够编写出出功能强强大的多多媒体程程序,却却不用关关心底层层复杂的的实现细细节。JJMF APII的使用用相对比比较简单单,但是是能够满满足几乎乎所有多多媒体编编程的需需求。在在这篇文文章中,我我将向你你介绍如如何用很很少的代代码就编编写出多多媒体程程序。 Javaa多媒体体框架(JJMF)中中包含了了许多用用于处理理多媒体体的APPI。它它是一个个相当复复杂的系系统,完完全了解解这个系系统可能能需要花花上几周周的时间间,但是是这篇文文章将主主要介绍绍JMFF的几个个核心接接口和类类,然后后通过一一个简单单的例子子向你展展示

2、如何何利用该该接口进进行编程程。 JJMF目目前的最最新版本本是2.1,SSun通通过它向向Javva中引引入处理理多媒体体的能力力。下面面是JMMF所支支持的功功能的一一个概述述: 可以以在Jaava Appplett和应用用程序中中播放各各种媒体体文件,例例如AUU、AVVI、MMIDII、MPPEG、QQuicckTiime和和WAVV等文件件。 可以以播放从从互联网网上下载载的媒体体流。 可以以利用麦麦克风和和摄像机机一类的的设备截截取音频频和视频频,并保保存成多多媒体文文件。 处理理多媒体体文件,转转换文件件格式。 向互互联网上上传音频频和视频频数据流流。 在互互联网上上广播音音频和

3、视视频数据据。 JMF的的结构为了更好好地说明明JMFF的结构构,让我我们用立立体声音音响做一一个简单单的比喻喻。当你你CD机机播放CCD唱片片的时候候,CDD唱片向向系统提提供音乐乐信号。这这些数据据是在录录音棚中中用麦克克风和其其他类似似的设备备记录下下来的。CCD播放放机将音音乐信号号传送到到系统的的音箱上上。在这这个例子子中,麦麦克风就就是一个个音频截截取设备备,CDD唱片是是数据源源,而音音箱是输输出设备备。 bbitssCN.Comm网管联联盟JMMF的结结构和立立体声音音响系统统非常相相似,在在后面的的文章中中,你会会遇到下下面的这这些术语语: 数据据源(DDataa soour

4、cce) 截取取设备(CCaptturee Deevicce,包包括视频频和音频频截取设设备) 播放放器(PPlayyer) 处理理器(PProccesssor) 数据据格式(FFormmat) 管理理器(MManaagerr) 下下面让我我们来看看一看这这些术语语到底代代表什么么意思。 1数数据源就就像CDD中保存存了歌曲曲一样,数数据源中中包含了了媒体数数据流。在在JMFF中,DDataaSouurcee对象就就是数据据源,它它可以是是一个多多媒体文文件,也也可以是是从互联联网上下下载的数数据流。对对于DaataSSourrce对对象,一一旦你确确定了它它的位置置和类型型,对象象中就包包含

5、了多多媒体的的位置信信息和能能够播放放该多媒媒体的软软件信息息。当创创建了DDataaSouurcee对象后后,可以以将它送送入Pllayeer对象象中,而而Plaayerr对象不不需要关关心DaataSSourrce中中的多媒媒体是如如何获得得的,以以及格式式是什么么。 在在某些情情况下,你你需要将将多个数数据源合合并成一一个数据据源。例例如当你你在制作作一段录录像时,你你需要将将音频数数据源和和视频数数据源合合并在一一起。JJMF支支持数据据源合并并,在后后面的例例子中我我们将提提到这一一点。 2截截取设备备截取设设备指的的是可以以截取到到音频或或视频数数据的硬硬件,如如麦克风风、摄像像机

6、等。截截取到的的数据可可以被送送入Pllayeer对象象中进行行处理。 DL.bbitssCN.comm网管软软件下载载3播放放器在JJMF中中对应播播放器的的接口是是Plaayerr。Pllayeer对象象将音频频视频频数据流流作为输输入,然然后将数数据流输输出到音音箱或屏屏幕上,就就像CDD播放机机读取CCD唱片片中的歌歌曲,然然后将信信号送到到音箱上上一样。PPlayyer对对象有多多种状态态,JMMF中定定义了JJMF的的六种状状态,在在正常情情况下PPlayyer对对象需要要经历每每个状态态,然后后才能播播放多媒媒体。下下面是对对这些状状态的说说明。 Unnreaalizzed:在这

7、种种状态下下,Pllayeer对象象已经被被实例化化,但是是并不知知道它需需要播放放的多媒媒体的任任何信息息。 Reealiizinng:当当调用rreallizee()方方法时,PPlayyer对对象的状状态从UUnreealiizedd转变为为Reaalizzingg。在这这种状态态下,PPlayyer对对象正在在确定它它需要占占用哪些些资源。 Reealiizedd:在这这种状态态下Pllayeer对象象已经确确定了它它需要哪哪些资源源,并且且也知道道需要播播放的多多媒体的的类型。 Prrefeetchhingg:当调调用prrefeectcch()方方法时,PPlayyer对对象的状状

8、态从RReallizeed变为为Preefettchiing。在在该状态态下的PPlayyer对对象正在在为播放放多媒体体做一些些准备工工作,其其中包括括加载多多媒体数数据,获获得需要要独占的的资源等等。这个个过程被被称为预预取(PPreffetcch)。 Prrefeetchhed:当Pllayeer对象象完成了了预取操操作后就就到达了了该状态态。 Sttartted:当调用用staart()方方法后,PPlayyer对对象就进进入了该该状态并并播放多多媒体。 4处理理器处理理器对应应的接口口是Prroceessoor,它它一种播播放器。在在JMFF APPI中,PProccesssor接接

9、口继承承了Pllayeer接口口。 PProccesssor对对象除了了支持支支持Pllayeer对象象支持的的所有功功能,还还可以控控制对于于输入的的多媒体体数据流流进行何何种处理理以及通通过数据据源向其其他的PPlayyer对对象或PProccesssor对对象输出出数据。 除了在在播放器器中提到到了六种种状态外外,Prroceessoor 对对象还包包括两种种新的状状态,这这两种状状态是在在Unrreallizeed状态态之后,但但是在RRealliziing状状态之前前。 Coonfiigurringg:当调调用coonfiigurre()方方法后,PProccesssor对对象进入入

10、该状态态。在该该状态下下,Prroceessoor对象象连接到到数据源源并获取取输入数数据的格格式信息息。 Coonfiigurred:当完成成数据源源连接,获获得输入入数据格格式的信信息后,PProccesssor对对象就处处于Coonfiigurred状状态。 5数数据格式式Forrmatt对象中中保存了了多媒体体的格式式信息。该该对象中中本身没没有记录录多媒体体编码的的相关信信息,但但是它保保存了编编码的名名称。FFormmat的的子类包包括AuudiooForrmatt和ViideooForrmatt类,VVieddeoFFomaat又有有六个子子类:HH2611Forrmatt、H2

11、263FFormmat、IIndeexeddCollorFFormmat、JJPEGGForrmatt、RGGBFoormaat和YYUVFFormmat类类。 66管理理器JMMF提供供了下面面四种管管理器: Maanagger:Mannageer相当当于两个个类之间间的接口口。例如如当你需需要播放放一个DDataaSouurcee对象,你你可以通通过使用用Mannageer对象象创建一一个Pllayeer对象象来播放放它。使使用Maanagger对对象可以以创建PPlayyer、PProccesssor、DDataaSouurcee和DaataSSinkk对象。 PaackaageMMan

12、aagerr:该管管理器中中保存了了JMFF类注册册信息。 CaaptuureDDeviiceMManaagerr:该管管理器中中保存了了截取设设备的注注册信息息。 PllugIInMaanagger:该管理理器中保保存了JJMF插插件的注注册信息息。 www.bittsCNN.neet网管管博客等等你来搏搏创建一个个Plaayerr对象在JMFF编程中中,最常常见的工工作就是是创建一一个Pllayeer对象象。你可可以通过过Mannageer类的的creeateePlaayerr()方方法创建建Plaayerr对象。MManaagerr对象使使用多媒媒体的UURL或或MeddiaLLocaa

13、torr对象来来创建PPlayyer对对象。当当你获得得了一个个Plaayerr对象后后,你可可以通过过调用ggetVVisuualCCompponeent()方方法得到到Plaayerr对象的的图像部部件(VVisuual Commponnentt,在图图像部件件上可以以播放多多媒体的的图像)。然然后将图图像部件件加入到到应用程程序或AAppllet的的界面上上。Pllayeer对象象还包含含一个控控制面板板,在上上面可以以控制媒媒体的播播放、停停止和暂暂停等。 Plaayerr类中的的很多方方法只有有在Pllayeer对象象处于RReallizeed的状状态下才才会被调调用。为为了保证证P

14、laayerr对象已已经到达达了该状状态,你你需要使使用Maanagger的的creeateeReaalizzePllayeer()方方法来获获得Pllayeer对象象。但是是对于sstarrt()方方法来说说,你可可以在PPlayyer对对象到达达Preefettcheed状态态之前调调用它,它它可以自自动将PPlayyer的的状态转转换到SStarrtedd状态。 BBS.bittsCNN.coom国内内最早的的网管论论坛截取多媒媒体数据据多媒体数数据的截截取是JJMF程程序中另另一个非非常重要要的功能能。你可可以按照照下面的的步骤截截取数据据: 通过过查询CCapttureeDevvie

15、cceMaanagger获获得你希希望使用用的截取取设备。 获得得设备对对应的CCapttureeDevviceeInffo对象象。 从CCapttureeDevvieccInffo对象象中获得得MeddiaLLocaatorr对象,然然后用它它创建一一个DaataSSourrce对对象。 使用用DattaSoourcce对象象创建PPlayyer对对象或PProccesssor对对象。 调用用staart()方方法,开开始截取取多媒体体数据。 你可以以使用CCapttureeDevviceeMannageer对象象获得系系统中可可用的视视频和音音频截取取设备。通通过调用用gettDevvic

16、eeLisst()方方法你可可以获得得设备的的列表。每每个设备备都对应应一个CCapttrueeDevviceeInffo对象象。也可可通过调调用CaaptuureDDeviieceeMannageer对象象的geetDeevicce()方方法来获获得特定定的CaaptuureDDeviiceIInfoo对象。在在使用设设备截取取多媒体体数据前前,还需需要从CCapttureeDevviceeInffo对象象中获得得设备对对应的MMediiaLoocattor对对象。然然后你可可以直接接使用MMediiaLoocattor来来构造PPlayyer或或Proocesssorr的实例例,也可可以用MMediiaLoocattor构构造一个个DattaSoourcce对象象,然后后将DaataSSourr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号