《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种状态:idle,Ready,Play,Play_Pause, Record和Record_Pause, IMedia使用媒体的状态机如图11-5所示。
图11-5: IMedia使用的多媒体状态机
使用IMedia接口的各种方法必须按照此状态机的状态进行转换,这样可以保证最大限度的使用。如果状态出错,必须重新设置状态机。
IMedia 播放多媒体的流程如图11-6所示,显示了多媒体对象的状态在Ready和Play之间的变化。
图11-6:IMedia 播放多媒体的流程
针对图像处理,BREW3.x也提供了丰富的支持。BREW应用可以使用IBitmap 和IDisplay进行位图操作,IDIB是由IBitmap派生的一个接口和数据结构。通过IDIB的数据结构成员变量可以定位位图中图像点(pixel)的位置,以及如何解析图像点的颜色值,通过IDIB结构可以实现对位图数据的直接操作。对图像的缩放处理一种方法是通过ITransform接口实现,需要通过目标位图获取ITransform句柄,缩放完成的目标位图位置由用户指定,缩放要求通过AEETransformMatrix进行设定,另一种方法是通过IBitmapScale,IBITMAPROT和IBitmapFX结合使用来实现。对于显示屏幕旋转事件处理,可以通过IDISPLAY_SetPrefs来实现。
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之49---BREW SDK 九大功能之多媒体系统
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之46---BREW SDK 九大功能之系统服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之47---BREW SDK 九大功能之显示和用户界面
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之48---BREW SDK 九大功能之文件系统
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之50---BREW SDK 九大功能之网络服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之51---BREW SDK 九大功能之安全服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之52---BREW SDK 九大功能之位置服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之53---BREW SDK 九大功能之电信服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之54---BREW SDK 九大功能之其他服务
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之10---BREW来龙去脉
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之11---什么是BREW
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之55---BREW SDK 个版本的区别(上)
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之56---BREW SDK 个版本的区别(下)
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之45---定制测试
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之57---BREW SDK 中的IDE集成环境
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之58---BREW SDK 中的工具
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之2《移动互联网》
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之18---商业模式
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之48---BREW SDK 九大功能之文件系统
- 关于最新出的5.0 OS的ROM不能锁屏的问题
- 开通新账号步骤
- VC 程序自删除功能的实现
- Android ADT插件很不稳定,DDMS总是死?
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之49---BREW SDK 九大功能之多媒体系统
- [探讨]关于Twitter信息结构的思考
- MapView不渲染变成空白和灰色网格了?
- 解决eclipse "This project needs to migrate WTP metadata" 错误
- web 开发
- Virtual function
- 在Linux下产生并调试core文件(转)
- 基于RTSP/RTP流媒体播放器的实现
- 成功最终要靠执行