《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之49---BREW SDK 九大功能之多媒体系统

来源:互联网 发布:ubuntu root 修改密码 编辑:程序博客网 时间:2024/04/29 04:04

对多媒体的支持主要是IMedia接口实现的,从IMedia接口衍生出很多的媒体接口,如图11-3所示:

11-3 IMedia接口支持的部分媒体格式

 

IMedia接口为所有BREW多媒体对象提供了一个抽象基类,提供了媒体对象的播放、记录及与播放/记录相关的搜索、停止、暂停和继续等操作功能,开发者通过IMedia接口可以进行所有多媒体对象的操作。BREW中的多媒体框架如图11-4所示。

 

11-4 手机中的多媒体构架

 

            媒体的播放状态符合有限状态机模型,一般有6种状态:idleReadyPlayPlay_Pause, RecordRecord_Pause, IMedia使用媒体的状态机如图11-5所示。

11-5 IMedia使用的多媒体状态机

 

使用IMedia接口的各种方法必须按照此状态机的状态进行转换,这样可以保证最大限度的使用。如果状态出错,必须重新设置状态机。

            IMedia 播放多媒体的流程如图11-6所示,显示了多媒体对象的状态在ReadyPlay之间的变化。

 

11-6IMedia 播放多媒体的流程

针对图像处理,BREW3.x也提供了丰富的支持。BREW应用可以使用IBitmap IDisplay进行位图操作,IDIB是由IBitmap派生的一个接口和数据结构。通过IDIB的数据结构成员变量可以定位位图中图像点(pixel)的位置,以及如何解析图像点的颜色值,通过IDIB结构可以实现对位图数据的直接操作。对图像的缩放处理一种方法是通过ITransform接口实现,需要通过目标位图获取ITransform句柄,缩放完成的目标位图位置由用户指定,缩放要求通过AEETransformMatrix进行设定,另一种方法是通过IBitmapScaleIBITMAPROTIBitmapFX结合使用来实现。对于显示屏幕旋转事件处理,可以通过IDISPLAY_SetPrefs来实现。

原创粉丝点击