播放器代码结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

包的结构如下:

.dyitech.estarry.player包

程序入口,完成基本初使化及框架构建,完成节目单的切换,对监控器提供系统音量/屏幕亮度的调用处理。

.dyitech.estarry.player.service包

服务管理类、包括节目单解析、数据库访问构建、系统工作环境设置、AIDL心跳完成正播节目上报、屏幕界面元素构建、播放器初使化准备、Socket心跳服务(负责接收突发单截图等即时性较高的操作)、天气预报后台数据服务。

3.工具类包

工具类包分为两大类:一类是基础工具类包,即通用程序工具类;另一类是播放器工具类。

通用程序工具类,如com.dyitech.estarry.player.util包、com.dyitech.estarry.player.util.bean 包、com.dyitech.estarry.player.util.view包等。

播放器相关工具类。之所以将播放器业务相关的操作作为工具类,目的是将播放器的基本业务逻辑单独抽象为一个工具类库,为将来多种版本的播放器工程所调用。

4.播放器相关工具类

●ponents包:播放器界面元素相关控件类。

●ponents.model包,节目单及内部各元素相关值对象及

实体对象的定义。

●ponents.video包,自定义视频播放控件,android自有

控件扩展。

●com.dyitech.estarry.player.util.db包,播放器数据库构建。

●com.dyitech.estarry.player.util.dynamicdata包,播放器动态数据区域对象及业务实现。只

所以没有放入ponents.model包是因为动态数据区域实现及结构相对复杂及机制独立。

●com.dyitech.estarry.player.util.exception包,是播放器程序异常退出时异常的捕获及处理。

●com.dyitech.estarry.player.util.log包是日志的保存及处理,提供对log4j的封装,便于以

后对日志进行统计分析及灵活输出。

●com.dyitech.estarry.player.util.music包是对背景音乐控制处理

●com.dyitech.estarry.player.util.text包,采用子线程进行滚屏字幕的绘制,包括用

SurfaceView及GLSurfaceView,是一种尝试,未被采用。

●com.dyitech.estarry.player.util.view包是对View的相关操作工具类。

5.对第三方源码进行修改的包括

com.dyitech.estarry.player.util.bitmap包、com.dyitech.estarry.player.util.text包。这两个包引用了网上资源和android例子代码。

工程中使用的第三方代码全部均进行了相应的修改裁剪及扩展。

6.播放器的数据库结构

可参看DBService类的实现,里面有明确的建表语句。

关于表的说明:

tb_schedule:节目单表

tb_playitem:节目表

tb_region:区域表

tb_dyregion:动态区域中包含的区域列表

tb_regionsrc:节目单中引用到的素材文件列表,暂时不用。

tb_log:日志信息表,暂时不使用,便于以后根据日志进行统计工作

以后各者均是通过单键连接,如:tb_playitem表中包含所属节目单的ID属性,tb_region 表中包含所属的节目ID属性;tb_regionsrc表中包含素材所属的区域属性。

7.运行流程图

代码中具体每个类,每个方法的作用及调用情况可参看代码及注释。

精品文档资料,适用于企业管理从业者,供大家参考,提高大家的办公效率。精品文档资料,适用于企业管理从业者,供大家参考,提高大家的办公效率。

相关文档
最新文档