资源简介
基于Android平台的在线播放器设计与实现
第7卷第19期(2011年7月) Computer Knowledge and Technology电脑知识与技术 byte buf[= new byte[16384 nt unread= mediaCnStream.read(; media Cn Stream即来自服圆 务端的输入流 out write(bul,0, unread;/将输人流数据写入缓冲区里的固定文件 我 CHANGES 上述下载过程应定义在一个单独的线程中,以实现以播放的异步, 新个线积!于下缄据 与播放最 关键代码如下 Runnable r= new runnable 下藏敢据 public void runO downloadStream(mediaUrl, Incur);调用下载文件函数 new Thread(r). start( 对于音乐盒的设计则更复杂一些,既涉及到与服务器通信、下载文 播腰刚间读度这¥長 撬放薯 件、存储文件、播放文件等独立功能,同时也对下载和播放肉个功能进行 连带设计和实现。流程图如图3所示 璇播放父 播放文件的关键代码如下: File buffered File new File(down Load CacheDir, playing Media"+ counter-+)+"dat)y/缓冲区定义一个dat文件,用 以> 于将下载的文件复制到该文件中 边播R边检 FilesystemUtil. copy File( downloading MediaFile, bufferedFile;/这个函数 主要用于将下载的文件 downloading McdiaF;l复制到 bufferedfilo中,为 播放提供源文件 计 MediaPlayer mPlayer new MediaPlayer FileInputStream fis new FileInputStream(bufferedFile); m Player set DataSource(fis. getFDO;/|方法返回与流相关联的文件说 图3MP3播放器详细流程图 明符 pLayer: set Audio Stream Type( Audio Manager STREAM_ MUSIC)∥/设置播放类型为播放流文件 Runnable updater= new Runnable public void run( i mediaPlayer start handler.post(updater); 播放文件被定义在一个线程中,该线程运行在主线程队列,当播放文件时间与播放位置差距小于一定值时,如 mediaPlayer. getDuration( -mediaPlayer. getCurrentPosition0 < 2000 即暂停播放,等待将下载的文件覆盖播放文件后,继续执行播放,这样就基本实现了播放与下载的异步与通信,关键代码如下 pause0y/执行暂停播放 File SystemUtil. copy filet( downloading File, bufferedFile)}∥/等待将卜载的文件覆盖播放文件 mediaPlayer= MediaPlayerService. createMediaPlaye( bufferedFile)/重新创建播放文件 if(media Player. getDuration0-mediaPlayer getCurrentPosition(<= 2000) start(mp3lno)/重新执行播放 4结束语 在 Android平台下开发并设计∫一套C/S标准,此标准实现∫服务端与 Android客户端的通 信,在客户端丰富了音乐播放的各项功能,提高了用户体验,本文重点是将音乐的下载和播放通过 线程分别处理,实现了两者同步执行、异步处理的效果。通过深入研究 Android平台架构,以及多 媒体播放和线程知识,最终完成了在 Android客户端的播放器边下载边播放核心功能,效果图如 图4所示。 本文基本实现了最初构想,初步解决了当前 Android系统对流媒体播放的不完全攴持的问 题,在后续的开发中,还应继续对多媒体的其他方面如视频、录像等互联功能进行研究和探索。 器园器回 参考文献 Conder s, Darcey LAndroid移动应用开发[M]北京人民邮电出版社,2010 图4在线播放器效釆图 [2]也达峰 Eclipse编程技术与实例[M!北京:人民邮电出版社,2006 [3]HomcC.Android-anOpenHandsetAollianceProject[eb/olj-(2008-01-01).http://codegoogle.com/android/what-is-android.html 4公磊周聪基于 Android的移动终端应用程序开发与研究肌计算机与现代化,2008(8):85-89 [5]谢兆学蒋爱权流媒体技术的jva实现计算机应用研究,2002,190:147-241 [6]何秋红 Java Media api的研究与应用D贵阳:贵州大学2006届硕士研究生学位论文,2006 [7 Wang Y, Zhu QR, Shaw L M aximallys moothim agree covery in transformcodingl C.IEEE Trans Communnication, 1993: 1544-1551 [8]Devlin移动开发社区Android专区[EBOL]ht/www.deydiv.com/android.html 本栏目责任编:谢媛媛 8公软件设计开搜k:4593
代码片段和文件信息
- 上一篇:Android 来电防火墙毕业设计论文
- 下一篇:邮局订报管理系统(JSP实现)
相关资源
- 小型酒店管理系统毕业设计javaEE
- 基于opencv+java的银行卡图片处理
- “E-家园”个人网站--java开发
- java多种方式实现pdf文件电子签名
- 爬虫搜索简单的搜索引擎java爬虫搜索
- JavaWeb基于SSM框架的仓库管理系统源码
- SSM可运行的基于Java在线学习平台 毕设
- Java 传智播客javaweb毕业设计资料和源
- 分享一套java基于SSM(spring+springMVC+M
- 运动会管理系统 java mysql 完整能运行
- Java ssm 完整项目包括数据库
- 学生成绩管理系统 + javaweb 毕业设计
- Java 基于ssh的社团管理系统的设计与实
- java 网上商城的所有源码数据、黑马传
- 全套五子棋毕业设计
- 基于Java WEB的校园二手交易平台
- java从入门到精通 版 第三版 源码 光
- 基于JavaWeb的医药管理系统.rar
- 网上书店系统java+sqlserver+jsp+servlet+s
- Java+MySQL航空在线订票系统的设计与实
- 快乐农场java开发程序代码
- Java健身房管理系统
- 基于JAVA的物流配送管理系统毕业设计
- java 毕设源码 两套
- 电子相册基于web
- 基于JAVA+SSH的论坛系统
- Flex和java后台结合的视频网站源码
- Java数据库同步系统Web平台
- javaWeb +MySQL 毕业生管理系统
- java实现多个docx文档合并基于docx4j
评论
共有 条评论