Welcome 微信登录

首页 / 软件开发 / JAVA / JMF介绍之媒体框架(二)

JMF介绍之媒体框架(二)2011-03-13 51cto博客 zhangjunhd译4.1播放器(Players)

播放器(Player)对一个媒体数据输入流进行处理,并实现时间上的精确播放。数据源(DataSource)将输入流传递到播放器。播放器将声音或(和)视频传递到相应的目标地(destination)。

图9为JMF播放器模型

播放器在处理和显示媒体数据过程中不提供任何控制。通过继承Clock和Controller类,播放器可支持标准的用户控制功能以及部分限制操作。

图10为JMF 播放器

4.1.1播放器状态(Player States)

播放器对象有多种状态,JMF中定义了6 种状态。在正常情况下播放器对象需要经历每个状态,然后才能播放媒体数据。下面是对这些状态的说明:

(1)Unrealized:在这种状态下播放器对象已经被实例化,但是并不知道它需要播放的媒体的任何信息。

(2)Realizing:当调用realize方法时,播放器对象的状态从Unrealized转变为Realizing。 在这种状态下Player对象正在确定它需要占用资源。在此过程中,播放器取得的资源都是那些只需取得一次的资源,不是那些独占的资源。

(3)Realized:在这种状态下播放器对象已经确定了它需要的资源并且也知道要播放的媒体的类型(type)。

(4)Prefetching:当调用prefectch方法时,播放器对象的状态从Realized变为Prefetching 在该状态下的播放器对象正在为播放媒体做一些准备工作。其中包括加载媒体数据而需要获得的独占资源等。这个过程被称为预取Prefetch。

(5)Refetched:当播放器对象完成了预取操作后就到达了该状态。

(6)Started:当调用start方法后播放器对象就进入了该状态并开始播放媒体。