基于c-s 架构的音乐播放器

基于c-s 架构的音乐播放器

ID:34394364

大小:136.50 KB

页数:7页

时间:2019-03-05

基于c-s 架构的音乐播放器_第1页
基于c-s 架构的音乐播放器_第2页
基于c-s 架构的音乐播放器_第3页
基于c-s 架构的音乐播放器_第4页
基于c-s 架构的音乐播放器_第5页
资源描述:

《基于c-s 架构的音乐播放器》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于C/S架构的音乐播放器-音乐论文基于C/S架构的音乐播放器昌攀,陈姚节,葛程,方志(武汉科技大学,湖北武汉430081)摘要:本文论述了采用Java语言开发一种基于C/S架构的音乐播放器,利用JMF(JavaMediaFramework)实现播放功能。该播放器除实现普通播放器的功能外,其亮点在于可以自动或手动下载歌词并保存,并且可以自动进行歌词同步。该播放器设计界面简洁,功能强大,并且占用内存小,执行速度快。关键词:音乐;JMF;播放器中图分类号:TS954文献标志码:A文章编号:1674-9324(2014)49-0072-03随着因特网在我国的普及,随之而来的是各式各样的播放

2、器软件。尽管未来的音乐播放器将具备各种丰富多彩的功能,但作为一款多媒体软件,音频应用才是最基本的,也是最能决定获取用户数量的因素。基于上述分析,音质高、外形美观、小巧且功能强大是未来播放器发展的主流趋势。JavaMP3音乐播放器的播放歌曲的功能是通过JMF这个jar包里面的MediaPlayer来实现,它的play和stop方法分别实现播放和暂停功能,该播放器由歌曲控制模块、歌曲列表模块和歌词显示模块三部分组成。该播放器采用客户端/服务端(C/S)设计模式,利用“千千静听”歌词服务器作服务端,以Myeclipse10.0作为开发环境。一、播放器界面的实现效果该界面清晰明了,采用Jav

3、a的界面编辑技术,控件简约,所消耗的系统资源较少,运行高效快速。值得改进的地方是:可以在歌词的背景处加上背景图片,功能不是很齐全,等等。二、播放器的基本功能结合音乐播放器所要实现的内容,我们列出用户操作的模块,其中每个模块对应一个功能。播放器的功能应当实现市面上比较常见播放器的所有功能,并且在界面上应当操作简单,还应添加一些比较特殊的功能,比如歌词下载。经过分析后确定该播放器应具备的功能如图2所示。三、关键技术以及改进方法该论文所描述的播放器采用多线程来进行控制,一个主页面是一个线程,播放歌曲是一个线程。主线程就是主页面所处的线程,它动态的对歌曲名称、播放时间、播放进度和歌词显示来进

4、行更新。播放歌曲的线程是一个位于主线程里的一个进程,控制这个进程的开始和结束来影响主线程里数据的读写和显示,所以对于线程的控制是必要的。1.播放功能模块以及界面的设计。歌曲控制面板视图如图3所示。播放、暂停和停止都依赖于主线程中的三个控制boolean变量,一个是play,另一个是pause,第三个是stop。初始值:stop=true,play=false,pause=false。播放、暂停、停止功能的具体实现。当play和pause都为false的时候,此时只能通过双击控制实现,双击之后会启动一个歌曲播放的进程,用来控制歌曲的具体播放动作。当歌曲的状态是暂停时,就可以继续点击暂停

5、按钮,达到播放的效果。此时,无需重新新建一个线程,只需让原来暂停的线程重新启动,同时需要改变变量stop和play。当然,还需要考虑到主线程,当play的状态为true时,主线程才能跑的顺利。停止只有在stop为false时起作用,与pause和play无关,即无论歌曲是暂停还是播放,都可以选择停止。首先就是把musicprocess线程停止,然后就需要把stop的状态改为true,还有需要把play的状态改为false,这样做的作用是控制主线程不要一直run,然后还需要把歌曲的播放时间设置为0:00,这样就基本实现了歌曲的停止功能。2.基本操作模块的实现。①上一曲和下一曲的实现也是

6、通过按钮来实现的。当歌曲播放状态为停止,亦及stop状态为true时,是不能进行上下一曲操作的。但是,当歌曲处于暂停或者播放状态,这个操作都是可以完成的。特别需要注意边界的问题,最重要的还是实现了自动滚动条定位的功能。首先判断歌曲播放的状态,不是停止状态,才会导致上下一曲功能生效,然后就是进行边界判断,边界判断之后,就需要原来播放歌曲的musicprocess线程停止掉,新建一个musicprocess线程,来播放新的歌曲,线程启动后,play的状态同样得设置为true,这样做是为了避免前面提到的,当初始播放状态为暂停时,点击上下一曲歌曲还是暂停的情况。同时在主线程里面,需要将时间与

7、歌曲总时间设置完成,并且需要将进度条也设置为初始位置,歌曲名称也需要设置成新的歌曲名称。下载歌词、解析歌词、同步歌词,这其实都是连贯动作,下载前需要判断是否存在歌词,存在就不会再下载了。②快进、快退算的上是一个播放器的核心功能,快进、快退需要涉及到一个计算过程及歌曲播放时间和进度条之间的关系,还关联到歌词同步的问题。根据进度条的拉动距离和总的拉动距离之间的比例乘以总共的歌曲播放时间,就能算出歌曲应该播放的时间,这样就能设置出歌曲播放的时间,实现快进和快退的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。