文档详情

BlackBerry+多媒体播放编程8-19.pdf

发布:2015-09-25约1.67万字共18页下载文档
文本预览下载声明
BlackBerry 多媒体播放编程 作者:俞伟 1 目录 概述2 创建第一个BlackBerry 媒体播放程序2 BlackBerry 音频播放编程 4 BlackBerry 视频播放编程12 2 概述 移动多媒体包括使用移动终端播放音乐,视频,拍照,录制视频,和在线影音。BlackBerry 支持 移动多媒体,你可以通过BlackBerry Java 或BlackBerry 浏览器来创建自己的媒体应用。功能包括 播放音频,视频,SVG 数据,录制音频,视频,流媒体,以及向蓝牙设备发送媒体流。 BlackBerry Java 提供的多媒体支持包括MMAPI-JSR 135 和Plazmic Media Engine。本章主要介绍 MMAPI 在BlackBerry 平台上的应用。 创建第一个BlackBerry 媒体播放程序 BlackBerry 为媒体开发提供了MMAPI,即Player 和javax.microedition.media 包。它为媒体资源播 放,控制播放,和管理播放状态提供了一些列方法。 一个Player 有五个状态:UNREALIZED, REALIZED, PREFETCHED, STARTED, CLOSED 。设计这些状态目 的是为消耗时间和资源的操作提供更好的控制。 Player 被创建后的初始状态是UNREALIZED。在这个状态下,Player 实例不知道媒体文件的任何信 息,不能播放媒体文件。 Player.realize()方法会把Player 的状体从UNREALIZED 变为REALIZED 状态。这个方法会访问媒体文 件或媒体资源来获取必要的媒体信息为播放做准备。 Player.prefetch()方法会把Player 的状态变为PREFETCHED。在这个状态下,Player 会进一步获取媒 体资源必要信息并装载部分媒体资源为播放媒体做好准备。 Player.start()方法会把Player 的状态变为STARTED,Player 将会立即开始播放媒体资源。 Player 如果没有经过realize()和prefetch()是不可能开始播放的。start()方法会间接的呼叫 prefetch(0),也就是realize(),在媒体播放开始之前。直接呼叫start()来播放会对媒体播放造成延 迟。 当Player 播放媒体内容完毕或者Player.stop()方法被叫时,player 会从STARTED 状态变为 PREFETECHED 状态。在PREFECTED 状态的Player 可以随时再次播放或循环播放。 在除CLOSED 状态以外的任何状态都可以呼叫close()方法,player 状态变为CLOSED,这时player 释放媒体资源,不再可用。 Player.deallocate()只能在PREFETCHED,REALIZED 状态下呼叫,它使player 返回前一个状态。 3 Player 的五个状态和状态之间的转换如下图所示: 介绍了Player,它的方法和状态,下面让我们来为BlackBerry 创建第一个媒体播放程序。 1. 引入需要的类 import javax.microedition.media.Manager; import javax.microedition.media.Player; import java.io.IOException; 2. 通过Manager .createPlayer()方法获得Player实例 3. 呼叫Player.realize()方法来为播放做准备,应用程序获取需要的媒体信息。 4. 呼叫Player.prefetch()使BlackBerry应用程序获取必要的媒体信息,装载部分媒体内容为 播放做好准备。 5. 呼叫Player.start()开始播放。 Player p = Manager.createPlayer(/abc.wav); /** * 指向媒体文件的abc.wav的URL作为一个URI参数传入Man
显示全部
相似文档