• 大小: 0.23M
    文件类型: .pdf
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Java
  • 标签: java  

资源简介


基于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

资源截图

代码片段和文件信息

评论

共有 条评论