java jmfsample_java JMF

JMF:(JavaTM Media Framework)是处理多媒体的程序接口。

JMF框架主要有三种模型,分别是时间模型,事件模型以及数据模型。时间模型定义了JMF的处理媒体流的时间数据的结构。事件模型定义了JMF框架的事件类型以及各个事件类型之间的关系。数据类型定义了JMF处理的媒体流数据的类型。

时间模型

JMF中时间的最小单位是纳秒。所有持JMF的时间模型的类都实现了Clock接口。Clock接口定义了基本的计时和同步操作,以控制媒体数据的呈现。

Clock接口使用TimeBase来跟踪媒体流的时间。

Clock接口中的media time表示媒体流中的当前位置。媒体流的初始media time是0,媒体流的末尾是流的最大media time.Duration表示的媒体流的时间长度。TimeBaseStartTime表示播放媒体流的Time-base time.MediaStartTime表示播放媒体流的起始时间。Rate表示Clock相对TimeBase的速度。比如Rate为1代表正常的播放速度,如果为2代表是正常速度的2倍。

换算关系为:MediaTime=MediaStartTime+Rate*(Time-Basetime - TimeBaseStartTime)

事件模型

JMF使用结构化的事件报告机制来跟踪基于JMF开发的程序的当前状态。基于JMF的程序可以响应媒体驱动的事件,如out-of data和resource unavailable事件。所有媒体事件都继承自MediaEvent类。可以通过调用addListener方法将该接口注册到发布事件的对象上,即可在事件发生后获得事件通知。

数据模型

JMF媒体播放器通常用DataSources类来处理媒体数据的传输。DataSources类封装了媒体的位置信息、协议信息以及传送媒体的软件。DataSource类可以通过JMF的MediaLocator类或者一个URL(Universal Resource Locator)类来标识。MediaLocator类似于URL类并且可以通过URL类来构造,同时MediaLocator可以在相应的协议处理器没有安装的情况下被构造,而URL不行。

一个DataSource对象管理一系列的SourceStream对象。标准的数据源及字节序列为单位进行传输,缓冲数据源使用Buffer对象作为阐述对象。

Processor与Player

在JMF API中,Processor 接口继承了Player接口。Processor对象除了支持Player对象支持的所有功能之外,还可以控制对于输入的�

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值