基于Android系统的多媒体播放器解决方案.pdf_第1页
基于Android系统的多媒体播放器解决方案.pdf_第2页
基于Android系统的多媒体播放器解决方案.pdf_第3页
基于Android系统的多媒体播放器解决方案.pdf_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2 0 1 1 年1 2 月15 日 第3 4 卷第2 4 期 现代电子技术 M o d e r nE l e c t r o n i c s i e c h n i q u e D e c 2 0 1 l V 0 1 3 4N o 2 4 基于A n d r o i d 系统的多媒体播放器解决方案 叶晓静 黄俊伟 重庆邮电大学通信与信息工程学院 重庆4 0 0 0 6 5 摘要 介绍基于A n d r o i d 操作系统的一个多媒体播放器软件解决方案 该多媒体播放器由启动画面 音频播放 视频 播放等模块组成 重点分析U I 用户界面 设计 数据存储 P r e f e r e n c e s 等 多媒体应用等技术难点 在此提出的软件解决方 案在A n d r o i d2 3 版本的模拟器和H T CA 3 3 8 0 上分别进行功能测试与验证 能够满足用户使用音视频文件进行本地播放及 相关需求 并提出总结与展望 关键词 A n d r o i d 用户界面 数据存储 多媒体应用 中图分类号 T N 9 1 9 3 4 T P 3 1 7 T P 3 7文献标识码 A文章编号 1 0 0 4 3 7 3 X 2 0 1 1 2 4 0 0 7 3 0 4 S o f t w a r eS o l u t i o n so fM u l t i m e d i aP l a y e rB a s e do nA n d r o i dO p e r a t i n gS y s t e m Y EX i a o j i n g H U A N GJ u n w e i C o l l e g eo fC o m m u n i c a t i o na n dI n f o r m a t i o nE n g i n e e r i n g C h o n g q i n gU n i v e r s i t yo fP o s t sa n dT e l e c o m m u n i c a t i o n s C h o n g q i n g4 0 0 0 6 5 C h i n s A b s t r a c t Am u l t i m e d i ap l a y e rs o f t w a r es o l u t i o nb a s e do nA n d r o i do p e r a t i n gs y s t e mi si n t r o d u c e d T h em u l t i m e d i ap l a y e r i sc o m p o s e do fs p l a s hs c r e e n a u d i od i s p l a ym o d u l e v i d e od i s p l a ym o d u l e e t c T h eg r a p h i c a lu s e ri n t e r f a c e G U I d e s i g n d a t as t o r a g e m u l t i m e d i aa p p l i c a t i o n sa n do t h e rt e c h n i c a ld i f f i c u l t i e sa r ea n a l y z e de m p h a t i c a l l y T h ef u n c t i o nt e s t i n ga n dv e r i f y i c a t i o nc a r r i e dO U tw i t hA n d r o i dV 2 3s i m u l a t o ra n dH T CA 3 3 8 0s h o wt h a tt h es o f t w a r es o l u t i o nc a nm e e tu s e r s n e e d sa n d d e p e n d e n td e m a n d sf o ra u d i oa n dv i d e of i l ep l a y b a c k As u m m a r ya n dp r o s p e c tf o rt h ef u r t h e ri m p r o v e m e n to ft h es o f t w a r e s o l u t i o na r eg i v e n K e y w o r d s a n d r o i d u s e ri n t e r f a c e d a t as t o r a g e m u l t i m e d i aa p p l i c a t i o n 0 引 言 A n d r o i d 本义为 机器人 是目前最流行的移动终 端开发平台 依靠G o o g l e 的强大开发和媒体资源 A n d r o i d 成为众多移动终端厂商竞相追逐的对象 当今全 球信息时代 移动终端不再局限于通信业务 多媒体业 务的应用才是终端厂商的发展方向 音视频播放作为 一项不可或缺的多媒体业务 对于具有丰富的可编程扩 展性的A n d r o i d 操作系统 可以开发出个性化的音视频 播放应用软件 1A n d r o i d 平台 1 1 A n d r o i d 系统架构 A n d r o i d 是G o o g l e 于2 0 0 7 年n 月5 日宣布的基 于L i n u x 平台开源手机操作系统名称 该平台由操作系 统 中间件 用户界面和应用软件组成 从软件分层的 角度来看 A n d r o i d 平台自上而下由应用程序 应用程 序框架 A n d r o i d 运行时 库及L i n u x 内核共5 部分 收稿日期 2 0 1 1 一0 7 2 5 基金项目 国家高科技发展规划项目 2 0 1 0 Z X 0 3 0 0 2 0 0 5 构成 1 2 A n d r o i d 应用程序组件 A n d r o i d 系统的基本组件包括A c t i v i t y 活动 S e r v i c e 服务 B r o a d c a s t R e c e i v e r 广播接收者 和 C o n t e n t P r o v i d e r 内容提供者 等 此外还包括专门负 责在基本组件之间传递消息的I n t e n t 意向 组件悟引 2 软件解决方案 2 1 概述 基于A n d r o i d 平台的多媒体播放器软件主要由 3 个模块组成 启动画面模块 音频播放模块 视频播放 模块 该播放器具有播放列表预览 前进 后退 暂停 继续 进度拖曳和停止等功能 4 2 2用户界面设计 在A n d r o i d 应用中 U I 用户界面 刮 是人与手机 之间传递 交换信息的媒介和对话接口 是A n d r o i d 系 统的重要组成部分 本文设计的多媒体播放器界面主 要由主界面 音 视频资源列表界面 音 视频播放列表 界面 音 视频播放界面等组成 本文重点介绍前2 种 界面设计 万方数据 7 4现代电子技术2 0 1 1 年第3 4 卷 2 2 1 主界面设计 主界面采用标签布局 使用T a b H o s t 标签页视 图 并定义2 个标签 分别是音频播放列表标签页和视 频播放列表标签页 T a b H o s t 标签页视图 必须配合T a b A c t i v i t y 标 签A c t i v i t y 组件 使用 该播放器主界面的M a i n A c t i v i t y 继承自T a b A c t i v i t y 初始化2 个标签页 并为每个 标签分配不同的用户A c t i v i t y 活动 M u s i c A c t i v i t y 音频播放 和V e d i o A c t i v i t y 视频播放 通过调用指 定的I n t e n t 来打开合适的A c t i v i t y 活动 2 2 2 资源列表界面设计 资源列表界面采用L i s t V i e w 列表视图 作为核心 视图 以视频资源列表为例 S D 卡中的视频资源列表 如图l 所示 该列表的A c t i v i t y 组件 V i d e o L i b r a r y 继承自 L i s t A c t i v i t y 通过A n d r o i d 平台为基础数据类型 视 频信息 装载C o n t e n t P r o v i d e r 内容提供器 来获取位 于S D 卡设备目录 d a t a d a t a c o r n a n d r o i d p r o v i d e r s m e d i a d a t a b a s e s 里的视频数据库信息 并使用S i r e p l e c u r o s r A d a p t e r 适配器作为列表适配器将视频资源 信息填充到列表视图中 p u b l i cc l a s sV i d e o l i b r a r ye x t e n d sL i s t A c t i v i t y 设置内容视图 s e t C o n t e n t V i e w R 1 a y o u t 1 i s t i t e m v i e w 从当前上下文对象获得内容解析器 r e s o l v e r g e t C o n t e n t R e s o l v e r 查询s d 卡的视频文件并返回结果集游标 C u r s o re r e s o l v e rq u e r y M e d i a S t o r e V i d e o M e d i a E X T E R N A L C O N T E N T U R I n u l l n u l l n u l l t 初始化列表数据适配器 a d a p t e r n e wS i m p l e C u r s o r A d a p t e r t h i s R 1 a y o u t 1 i s ti t e m l a y o u t C n e wS t r i n g T I T L E n e wi n t E R i d V i d e o N a m e 为播放列表设置数据适配器 t h i s s e t L i s t A d a p t e r a d a p t e r 2 3 数据存储 A n d r o i d 平台主要提供了4 种数据存储机制 3 P r e f e r e n c e s 参数选项 D a t a b a s e s 数据库 F i l e s 文 件 和N e t w o r k 网络 P r e f e r e n c e s 参数选项 是一种轻量级的 用于存储 或获取数据类型的 键一值 项的机制 它通常用来存放 应用程序的配置信息 本文设计的多媒体播放器采用 P r e f e r e nc e s 机制来存储或获取音 视频历史播放信息 等配置信息 2 3 1 获取数据 若要获取P r e f e r e n c e s 文件的数据 例如继续播放 动作需要读取播放历史信息 首先通过调用C o n t e x t g e t s h a r e d P r e f e r e n c e s S t r i n gn a m e i n tm o d e 方法传 人P r e f e r e n c e s 文件名和打开模式来获得一个S h a r e d P r e f e r e n c e s 对象s p 若该P r e f e r e n c e s 文件不存在 在 提交数据后会创建该P r e f e r e n c e s 文件 利用该s p 对 象调用g e t t e r 方法 传人相应的键来读取数据 读取存放在S h a r e d P r e f e r e n c e s 文件夹里的上一次播放 的U r i S h a r e d P r e f e r e n c e ss p s p g e t S h a r e d P r e f e r e n c e s P R E F C o n t e x tM D E W O R L D R E A D A B I E C o n t e x t M O D E W O R L DW R I T E A B L E i S t r i n gu r i S t r i n g s p g e t S t r i n g U R L K E Y n u l l n o w P l a y i n g U r i p a r s e u r i S t r i n g 在A n d r o i d 平台中 所有音 视频文件的相关信息 都是以C o n t e n t 的形式提供给开发者的 所以历史播放 信息是c o n t e n t 样式的U R I 也就是前面提到的 n o w P l a y i n g 23 2 存储数据 若要修改P r e f e r e n c e s 文件的数据 例如暂停当前 播放 或停止播放并退出该播放器软件会引起播放历史 信息的变更 而产生该动作的原理是 每当播放新的 音 视频文件首先将其U R I 赋值到全局变量n o w P l a y i n g 然后在退出该播放软件时处理变更工作 利用 S h a r e d P r e f e r e n c e s 对象印调用e d i t 方法获得一个内 部类E d i t o r 对象e d i t o r 利用该e d i t o r 对象对P r e f e r e n c e s 文件进行编辑 即读取n o w P l a y i n g 的数据 随后 必须调用c o m m i t 方法才可以完成修改该P r e f e r e n c e s 文件里键为U R I K E Y 的对应数值 S h a r e d P r e f e r e n e e s E d i t o re d i t o r sp e d i t I e d i t o r p u t S t r i n g U R I K E Y n o w P l a y i n g t o S t r i n g O e d i t o r c o m m i t 万方数据 第2 4 期 叶晓静等 基于A n d r o i d 系统的多媒体播放器解决方案 7 5 2 4 多媒体应用 2 4 1 多媒体宏观结构 A n d r o i d 的多媒体部分框架涉及应用程序 J a v a 框 架层 C 语言框架 硬件抽象层等环节 其中A n d r o i d J a v a 框架层提供标准多媒体A P I 供上层相关应用程序 调用 而媒体的播放过程实际上是由下层的O p e n C o r e 和S t a g e f r i g h t 等实现的 A n d r o i d 多媒体宏观结构如 图2 所示 8 图2A n d r o i d 多媒体系统的宏观结构 2 4 2多媒体处理过程 典型数据流在多媒体播放器中的运行过程主要经 过以下环节 9 最上层的J a v a 应用程序将媒体U R I 媒 体文件或者流媒体 作为输入设置到媒体播放器中 主 要是通过A n d r o i d 平台提供的标准接口A P I 如M e d i a P l a y e r 媒体播放器接口 等 经过J a v a 框架层 J N I 和本地框架层 一直设置到P V P l a y e r O p e n C o r e 该 过程中只是传递媒体U R I 路径 并无数据流传递 由 P V P l a y e r 进行解析后 将媒体分成音频流 M P 3 A M R A A C 等 和视频流 H 2 6 3 H 2 6 4 M P E G 4 等 经过编解码器的处理和同步 A V S y n c 处理后转换成 原始数据 音频通常是P C M 视频通常是Y U V 或R G B 格式 随后音视频原始数据将被送入音频和视频的输 出环节 扬声器或者显示屏等硬件 C o r 2 4 3 多媒体播放接口 A n d r o i d 平台提供a n d r o i d m e d i a 包来管理各种音 频和视频的媒体接口 该包中的M e d i a P l a y e r 媒体播 放器接口 用于控制音频或视频文件和流的回放 另外 在a n d r o i d w i d g e t 包中还提供V i d e oV i e w 视频视图 组件用于播放视频文件 以简化相对于使用M e d i a P l a y e r 播放视频的繁琐控制过程 1 引 1 M e d i a P l a y e r 对播放音频而言 通过M e d i a P l a y e r c r e at e C o n t e x tc o n t e x t U r iu r i 方法来获取播放器实例 无需播 放准备 直接通过M e d i a P l a ye r s t a r t 方法来启动播 放动作 其中n o w P l a y i n g 就是用户当前选中的待播放 文件嗍 开始播放 M e d i a P l a y e rm P l a y e r M e d i a P l a y e r c r e a t e c o n t e x t O O W P l a y i n g m P l a y e r s t a r t l 通过播放器实例m p 调用M e d i a P l a y e r p a u s e 方 法可以暂停当前播放行为 可以使用s t a r t 方法恢复 播放 首先调用M e d i a P l a y e r s t o p 停止当前播放行为 再调用释放与播放器相关资源的方法M e d i a P l a y e r r e l e a s e 来完成停止播放动作 对于播放视频来说 通过M e d i a P l a y e r 媒体播放 器接口 的 s e t D a t a S o u r c e 方法可以指定视频文件路 径 与播放音频数据不同的是 视频播放还要设置显示 视频内容的承载体 使用M e d i a P l a y e r 的 s e t D i s p l a y 方法为当前播放器实例设置一个用于显示视频内容 代 表屏幕描绘的控制器 这样用于播放视频的播放承载 体必须实现S u r f a c eH o l d e r 表面视图处理接口 的视 图组件 2 V i d e oV i e w 首先视频播放布局资源中必须定义2 个组件 V i d e o V i e w 标记定义视频视图组件 M e d i a C o n t r o l l e r 标记定义视频播放控制器组件 在A c i t i t y 组 件对布局资源填充完成后 获取布局资源中定义的视频 视图和播放控制器组件实例 m V i d e o 和m C o n t r o l l e r 视频视图实例m V i d e o 指定要播放的视频文件路径或 U R I 用于承载待显示视频内容 并为m V i d e o 设置播 放控制器用于控制该视频文件的播放行为 如暂停 前 进 后退和进度拖曳等 再调用V i d e o V i e w s t a r t 方 法启动播放行为 停止播放行为可以调用V i d e o V i e w s t o p P l a y b a c k 来停止回放行为凹 获取视频视图和播放控制器组件实例 m V i d e o V i d e o V i e w f i n d V i e w B y I d R i d v i d e o v i e w m C o n t r o l l e r M e d i a C o n t r o l l e r f i n d V i e w B y l d R i d m e d i a c o n t r o l l e r 设置视频文件U R I m V i d e o s e t V i d e o U R I n o w P l a y i n g 设置播放控制器 m V i d e o s e t M e d i a C o n t r o l l e r m C o n t r o l l e r I 3 测试 本文设计的多媒体播放器是在A n d r o i dS D K2 3 平台下开发完成的 该播放器以应用程序a p k 的形式 分别集成到在A n d r o i d2 3 模拟器和H T CA 3 3 8 0 手机 上 通过测试能够实现音 视频文件的本地播放功能 例 如暂停 继续 停止 进度拖曳等 以音频播放为例 测 试效果如图3 所示 万方数据 7 6 现代电子技术2 0 1 1 年第3 4 卷 4 结语 本文重点介绍基于A n d r o i d 平台的多媒体播放器 解决方案 侧重分析U I 用户界面 设计 音 视频数据 信息读写 及音 视频播放等过程 并在A n d r o i d S D K 2 3 平台上进行功能性测试 测试结果满足预期 能够正常播放本地多媒体文件 随着用户对移动终端 的媒体播放功能的需求日益增加 提供支持更高分辨率 的视频播放 以及和网络结合的流媒体方面的功能将是 下一步的研究重点 参考文献 1 E 2 E C l o u d 工作室 深入浅出G o o g eA n d r o i d M 北京 人 民邮电出版社 2 0 0 9 2 3 高焕堂 A n d r o i d 应用框架原理及程式设计3 6 技 M 出 版地不详 广悦文化事业有限公司 2 0 0 9 3 佚名 A n d r o i d 开发教程 笔记 E B O L 2 0 0 9 1 l 1 9 h t t p w w w p r o g r a m b b s c o m t e c h 5 0 9 h t m 4 张正政 林耀荣 基于A n d r o i d 系统的影音播放器开发 J 现代电子技术 2 0 1 1 3 4 2 9 8 5 赵亮 张维 基于A n d r o i d 技术的界面设计与研究 J 电脑 知识与技术 2 0 0 9 2 9 5 8 1 8 3 8 1 8 8 6 公磊 周聪 基于A n d r o i d 的移动终端应用程序开发与研究 J 计算机与现代化 2 0 0 8 8 8 5 8 9 7 小试牛刀 解读 A n d r o i d 平台数据存储机制 E B O L 2 0 1 0 1 2 1 7 h t t p h b q q e o m a 2 0 1 0 1 2 1 7 0 0 0 0 4 7 h t n 8 韩超 桨泉 A n d r o i d 系统原理及开发要点详解 M 北京 电子工业出版社 2 0 1 0 9 韩超 粱泉 A n d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论