首页 | 互联网 | IT动态 | Cisco | Windows | Linux | Java | .Net | Oracle | 华为 | 存储世界 | 服务器 | 网络设备 | IDC | 安全 | 求职招聘
IT培训 | 数字网校 | 技术专题 | 电子书下载 | 教学视频 | 网页设计 | 平面设计 | 解决方案 | 直播室 | 虚拟考场 | 搜索 | 博客 | 沙龙 | 论坛
中国IT实验室Linux频道
中国IT教育
 
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> 核心技术 >> JavaMedia >> 文章正文

使用J2ME MMAPI开发移动多媒体应用技术

文章来源中国IT实验室收集整理 作者佚名 更新时间2007-12-11 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

  三、使用MMAPI

  MMAPI提供的类和接口都在javax.microedition.media中,在程序中使用MMAPI时,首先应该引用这些包,否则程序无法编译。

  每个MMAPI程序都需要创建一个Player对象,前面我们已经介绍过,MMAPI使用Manager的CreatePlayer函数来创建Player对象,该函数有三个版本,其格式如下:

public static Player createPlayer(String locator)
throws IOException, MediaException
public static Player createPlayer(DataSource source)
throws IOException, MediaException
public static Player createPlayer(InputStream stream, String type)
throws IOException, MediaException

  第一个版本实现通过URL字符串指定的协议和数据位置的信息创建一个Player对象,其中locator的格式如下:

  Manager将对createPlayer函数中提供的URL字符串参数进行分析,创建一个Data Source对象,由该对象完成对媒体数据的传输工作,并从数据中获取该媒体的数据内容类型,Manager将根据这个媒体数据类型创建相应的Player对象,如果Manager无法确定DataSource的内容类型,它将抛出一个MediaException异常。

  例:创建一个控制某网站MP3音频的Player对象。

  Player pMP3 = Manager.createPlayer( "http://www.XXX.com/111.mp3");

  第二版本实现通过已知的DataSource对象创建Player对象。

  第三版本实现通过InputStream流创建Player对象。

  我们根据应用实际的情况选择使用那种版本来创建Player对象。有了一个Player对象以后,接下来要通过这个Player对象提供的方法去控制媒体流。下面我们列出常用的方法:

  ◆Player.start():重放媒体流

  ◆Player.stop():停止媒体流

  ◆Player.setMediaTime(long now):设置媒体时间

  ◆Player.close():关闭媒体流并释放资源

  ◆Player.getState():获取Player的当前状态

  每个Player对象中都存在着一个状态变量,用于表示该Player对象的生命周期。当Player第一次被建立时处于UNREALIZED状态;当为该Player设置了媒体数据的位置后,它处于REALIZED状态(如Player正在从一个服务器的HTTP连接下载并解释数据的时或Player在Http请求已经发送到服务器,收到HTTP响应后,而且DataSource准备好接收媒体数据的时);当该Player已经读到足够的数据而开始解释和运算时,处于PREFETCHED状态;当数据在运算完毕后,该Player的状态变成了STARTED.我们在使用Player对象的方法对媒体流进行控制时,应注意它们可能影响到Player状态的改变,可以使用getState函数获取当前Player的状态。图三展示了Player对象的状态转换图。

  

使用J2ME MMAPI开发移动多媒体应用技术(图三)

  图3:状态转换图

上一页  [1] [2] [3] 下一页  

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 社区讨论
 博客论点