音乐播放器报告(大全5篇)

时间:2019-05-14 08:25:52下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《音乐播放器报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《音乐播放器报告》。

第一篇:音乐播放器报告

一、综述本课题国内外研究动态,说明选题的依据和意义

1.1课题的背景和意义

随着科技的进步,手机的功能也不断的得到丰富,从最早的“大哥大”到现在的商务PDA手机,智能手机,音乐手机等等,功能也从单纯的打电话发展到了发短信,听歌,上网....手机和我们生活的联系越来越紧密,手机的功能也是很多人们关注的焦点。

目前手机的音乐播放功能已经是大家比较关注的一个部分了,不少在人在购买手机的时候都会关心手机的音乐播放的能力,这也足以看出目前大家对音乐播放功能的重视,所以一款性能良好的手机音乐播放器软件一定会受到欢迎。和传统的音乐播放器相比,手机播放音乐更加的容易携带,其他方面也都不输于传统音乐播放器,而且还具有网上听音乐功能,所以开发一款受欢迎的手机音乐播放软件是具有良好的市场和应用前景的。

一款专业的音乐播放软件是手机中必不可少的要素,几乎市场上所有的手机都拥有一个自带的音乐播放软件,通过软件可以对音乐欣赏中一些必要的元素进行人性化的设置,同时在操作的时候也能得到一定的便利,但是不能满足用户的所有要求,所以网上就出现了各种各样的手机音乐播放软件,来满足不同用户的不同要求。不同手机平台的手机,所支持的音乐播放软件也是各不相同,而现在最流行的手机平台就是google的android手机平台,所以本课题就致力于开发出一款基于android手机平台的音乐播放器,来满足用户的使用需求。

1.2课题的研究历史和发展现状

首先简单的介绍一下google的android。Android原本是一家独立的手机操作系统公司,2005年被Googel收购。2007年11月,Googel宣布推出基于Linux的Android开放式手机操作系统,沿袭至今,已发展到2.2版本(3.0尚在研)。此系统的“开放”尤其体现在任何手机制造商均可无需支付专利费即可将此系统运用在自己的手机

Google的以Linux为内核的Android移动手机平台从诞生之日起短时间内便在世界范围里获得了广泛的关注。最近的报告显示在中国,一个拥有最大的人口,拥有最多的手机用户,拥有巨大的增长潜力的国家,这个系统的占有率沿着一个倒抛物线的增长曲率成为手机操作系统中的霸主 同时国外的Android市场也正在如日中天的扩展,据市场调研机构NPDGroup最近发布的一份报告称,今年第一季度基于Android操作系统的智能手机在美国智能手机总销量中所占比例达到28%,首度超过苹果iPhone,苹果iPhone约为21%,相信在不久的将来会有更多的用户选择Android系统的手机或是无线终端设备。

根据美国移动广告商AdMob的统计,iPhoneOS在美国本土的网络流量占了美国本土全部移动互联网流量的39%,而Android系统首次超越了它,达到了46%。不过要放在世界范围内来看,iPhone OS仍占了46%,而Android只占了25%,还是排第二。不过仍能说明 Android的来势汹汹,能对苹果造成威胁的果然只有Google。

国内目前中国移动、Moto、LG、三星、华为、MTK等正在积极筹备Android产品和相关的电子市场,中国移动率先推出了基于Android深度定制的Ophone系统和Mobile Marke,联想基于Android的乐phone手机也于5月17日正式上市,国内其他电子厂商也纷纷表示到下半年会推出大量的基于Android的手机和MID产品,Moto更是放弃了原有的所有手机操作系统,孤注一掷,计划今年国内市场有近20款Android产品面世。3G时代的到来,给中国企业追赶国际厂商带来了腾飞的机会,据预测亚太区域将来会占据全球Android市场中最大的收入份额。

Android的代号序列会按甜点名字中首个英文字母(C、D、E、F)的排列顺序,到目前为止android系统已经有多个帮本: Android1.1发布于2009年2月主要特性:

闹钟,API示例,浏览器,摄像头,计算器,联系人,开发工具包,拨号应用,电子邮件,地图,信息服务,音乐,图片,设置。2009年4月30日,官方1.5版本(Cupcake)的Android发布。主要的更新如下: 拍摄/回放视频,并支持上传到youtube,支持立体声蓝牙耳机,同时改善自动配对性能,最新的采用WebKit技术的浏览器,支持拷贝/粘帖和页面中搜索,gPS性能大大提高, 屏幕虚拟键盘,主屏幕增加音乐播放器和相框widgets,应用程序自动随着手机旋转 短信,Gmail,日历,浏览器的用户界面大幅改善,比如说Gmail现在可以批量删除邮件了 ,相机启动速度加快,拍摄图片可以直接上传到picasa, 来电照片显示。2009年9月15日, 1.6(Donut)版本SDK发布。主要的更新如下:完全重新设计的Android Market,手势支持,支持CDMA网络,文字转语音系统(TXT-2-speech),快速搜索框,全新的拍照界面,应用程序耗电查看,支持VPN,支持更多的屏幕分辨率,支持OpenCore2媒体引擎,新增面向视觉或听觉困难人群的易用性插件

2009年10月26日, 2.0(Eclair)版本SDK发布。主要的更新如下:优化硬件速度,“Car Home”程序,支持更多的屏幕分辨率,重整界面,新的浏览器的用户界面和支持HTML5,新的联系人名单,更好的白色/黑色背景比率,改进Google Maps 3.1.2,支持Microsoft Exchange,支持内置相机闪光灯,数字变焦,改进的虚拟键盘,蓝牙2.1 Android的代号序列会按甜点名字中首个英文字母(C、D、E、F)的排列顺序。下一个版本的Android将会命名为Froyo(冻酸奶,基于Linux Kernel 2.6.32)。Froyo 之后的版本的Android将会命名为Gingerbread(姜饼,基于Linux Kernel 2.6.33/34)。

二、研究的基本内容,拟解决的主要问题:

2.1课题研究的主要内容

本文的主要研究内容包括以下几个方面:  查找相关书籍与文献,了解Android的构架并搭建Android平台。 查找相关资料,现阶段基于Android平台手机音乐播放器发展现状以及相关功能。

 在上述基础上,提出所要做的手机播放器的相关功能如:播放本地歌曲,设置,播放列表,播放记录等。

 在Android平台上完成该课题的软件并进行相应的软件测试。

2.2课题研究的拓展

传统的音乐播放器受限于手机存储和计算处理能力,在音乐收集、存储和管理方面一直存在瓶颈,新一代音乐播放器应该进一步拓展了应用空间,更迎合用户的使用习惯,将音乐搜索、收藏、管理等全部交由网络来完成,为用户提供的音乐资源更为庞大,搜索更为精准,管理和收藏更为简便的服务。

1.智能化超级搜索 网络音乐播放器的特点就是集成了音乐搜索服务,将用户从繁杂的网页搜索解脱出来,提供更为专业和准确的音乐搜索服务。新一代音乐播放器提供的搜索结果不是直接抓取的网页搜索链接,而是先由服务器进行实时采集和筛选,然后保存在数据库由用户进行调用,以此来保证搜索结果的准确性、唯一性和有效性,将搜索结果的验证和判断交由服务器来未完成,避免出现盲搜会出现的搜索结果重复和无效的情况发生,从而大大提高用户的搜索效率。

2.智能化口味分析 在网络音乐时代海量的音乐信息已经改变了大众的听歌习惯,一天听个几十上百首新歌都不是问题。无论是音乐排行榜、媒体推荐还是口碑宣传,都属于小范围的传播途径,这些传统的歌曲信息获取方式已经无法满足大众大量获取新鲜歌曲的需要。新一代音乐播放器应该实时采集用户的听歌习惯,实时分析出用户的喜好,在短时间内即可将大量满足用户喜好的歌曲推荐出来,用户无须人工操作即可不断听到新鲜的好歌,常听常新 3.虽然网络音乐播放已经成为主流,但很多用户仍习惯于在本地收藏和管理音乐文件。本地音乐管理所遇到的主要难题就是音乐信息混乱,绝大多数从网上下载的音乐文件名都是简化的英文或数字,让人无法辨识出正确的歌曲名。日积月累这些音乐文件就会给日常管理带来极大麻烦。识别服务则可以完美解决这一问题,它可以自动采集音乐旋律上传至服务器,凭借服务器系统强大的识别能力,通过音乐旋律即可准确误别出正确的音乐信息,然后再自动对本地音乐文件进行信息更正,将音乐文件重命为正确的中文或英文歌曲名等。歌曲数量再多都能在极短的时间内批量完成误别操作,识别服务可以说是现在本地音乐管理的不可或缺的帮手

上面所说的几种功能都是下一代音乐播放器应该具有的功能,只有音乐播放器客户端软件的不断创新发展,未来人们欣赏音乐的体验才会更加精彩。

三、研究步骤、方法及措施:

3.1研究步骤 研究步骤主要分为6个步骤,包括理论准备、材料分析、需求分析、、编码实现、系统测试、完善软件系统。每个步骤的大致工作如下: 3.1.1理论准备

此步骤是整个研究过程的基础,也是今后研究展开的基石,主要是翻阅相关资料,查询Android平台的历史和发展现状,在理论的基础上为接下来的步骤做准备。3.1.2材料分析

对现行的Android平台手机播放器进行分析并提出相应功能。

3.1.3需求分析

在步骤1和2的基础上对该课题进行需求分析。

3.1.4编码实现

此过程主要是针对步骤2和3的编码实现,完成上文描述的功能需求进行必要的编码。当然这里是在Android平台上实现的。3.1.5系统测试

对基于Android平台手机播放器进行基本的软件测试,查找并修改常见的BUG。3.1.6后期完善

此步骤主要是对上述软件的界面等外设进行修改,以达到操作方便,友好美观的效果。3.2研究方法和措施

根据现有的音乐播放器,分析用户喜好,优化功能,邀请不同的用户提出建议,不断的进行完善。

四、研究工作进度:

序号 1 2 3 4 5 6 7 8 时间

2010.5.11-2010.6.11 2010.6.12-2010.6.30 2010.7.1-2010.7.31 2010.8.1-2010.8.31 2010.9.1-2010.9.30 2010.10.1-2010.10.9 2010.10.9-2010.10.28

内容

熟悉课题要求与任务 查阅相关文献资料 熟悉Android系统

构建Android平台以及熟悉相关操作

需求分析 完成开题报告 软件编程 测试软件

完善软件,准备论文写作

修改论文,定稿,准备答辩,材料归档 2010.10.28-2010.11.9 2010.11.16-2010.11.10 2010.11.29-2010.12.1

五、主要参考文献:

[1] ophone应用开发权威指南 胡幸征著;—北京:电子工业出版社,2010.1 [2] 深入浅出Google Android/E2Ecloud 工作室编著。—北京:人民邮电出版社,2009.8 [3] Google Android开发入门与实战/靳岩,姚尚朗编著。—北京:人民邮电出版社,2009.7 [4] Google Android SDK开发范例大全/余志龙等编著;王世江改编。—北京:人民邮电出版社,2009.7(2009.8重印)[5] Android应用框架原理与程序设计36技/高焕堂著;

六、指导教师审核意见:

指导教师签字:

年 月 日

七、系、室、部(研究所)评议意见:

1.适合本专业的毕业设计课题;

2.不适合本专业的毕业设计课题;

3.其他

系、室、部(研究所)主任签字:

八、开题小组评审意见:

开题小组组长签字:

2009 年 9 月 27 日

九、系领导(答辩委员会)审核意见:

1.通过; 2.完善后通过;

3.未通过

系领导(答辩委员会)签字:

2009 年 9 月 28 日

第二篇:音乐播放器项目报告

华东交通大学课程项目

学 院:软件学院 ______ 课程名称: Android应用开发___________ 项目名称: ___ _音乐播放器________ 学生名字: ____ ________ 学生班级: ____ ______ 授课教师: __________ 授课学期:2015___至2016______学年第2学期

2016年 6月 1 日

目录

目录...................................................................................................................................2

1、需求分析.............................................................................................................................3

1.1编写目的.....................................................................................................................3 1.2项目背景.....................................................................................................................3 1.3目标.............................................................................................................................4 1.4用户特点.....................................................................................................................4

2、程序设计.............................................................................................................................5

2.1欢迎界面....................................................................................................................5 2.2主页面........................................................................................................................6 2.3播放音轨SeekBar......................................................................................................6 2.4播放调节功能实现.....................................................................................................7 2.5歌曲列表显示界面.....................................................................................................8 2.6专辑列表显示界面.....................................................................................................8

3、功能设计.............................................................................................................................9

4、个人总结...........................................................................................................................10

1、需求分析 1.1编写目的

现今社会生活紧张,而欣赏音乐史其中最好的舒缓压力的方式之一,音乐播放类的软件数不胜数,为什么我还要再写一个播放器出来呢?因为现有的音乐播放器功能实在是有些多了,多未必不好,但是我总想要一个干净纯粹的音乐播放器,只为听歌的播放器,一个有着一些自己想要的功能的播放器,比如“切歌”,一个自己熟悉代码的播放器,甚至,一个可以自定义功能结构的音乐播放器。本项目的目的是开发一个可以播放主流音乐文件格式的播放器,本设计的实现的这主要功能是播放MP3等音乐文件,并且能够控制播放器播放,暂停,停止,上一曲,下一曲。界面简单,操作简单。

本软件具备音乐播放器的播放歌曲、歌曲列表、拖动进度等基本功能,同时本播放器界面简洁美观,操作简单便捷。

1.2项目背景

随着智能手机的普及,用户需要各种各样的应用软件,音乐播放器肯定是必不可少的。随着计算机的广泛运用,手机市场的迅速发展,各种音频资源也在网上广为流传,这些资源卡是平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味最求外观花俏,功能庞大,对用户的手机造成很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户听歌的需求。1.3目标

学习完本周的应用开发课程之后,需要实现以下目标: 可以获取本地音乐 可以显示歌曲的进度

可以用拖动条来控制歌曲的进度 音乐播放器可以循环播放音乐; 可以播放下一首歌曲; 有一个精美的界面; 可以通过手势调节音量;

1.4用户特点

本系统的最终用户是面向广大的拥有手机的用户。广大用户有各个阶级的,学生,上班族,家长。

主要群体是学生,学生的特点是要求播放的音频潮流,音质高,功能多种多样。学生基本上会随身携带手机。

上班族工作压力比较大,可以适当的播放音乐缓解压力。

2、程序设计

2.1欢迎界面

欢迎界面模块主要是用于给用户一种友好的体验,让用户较容易接受本软件。进入系统后进入欢迎界面如图2.1,运用计时器两秒钟后自动跳转到选择进入界面4.2。并且运用了组合动画实现了渐隐的效果。

2.1欢迎界面 2.2主页面

主页面是本运用的核心界面,本界面拥有三个Fragment,可以运用Activity底部的选项卡进行切换,三个Fragment分别为歌曲列表,正在播放以及专辑列表。如图4.2所示,此时Activity上显示的Fragment为正在播放,此页面运用一张炫酷的网络图片。中间一块专辑及歌曲显示的模块是属于一个自定义模块。底部为音轨模块。

2.2主页面

2.3播放音轨SeekBar 播放器最重要的一部分就是音轨与歌曲进度同步的实现。音轨设置了两个TextView用来显示当前歌曲播放的进度时间和歌曲的长度。音轨对象SeekBar在歌曲刚开始播放的时候调用方法SeekBar.setMax(),参数传入歌曲的长度。SeekBar.setProgress(1)设置游标的起始进度为1。Android的线程的开始是通过Handler类来进行的,Handler类是线程与线程之间通信的桥梁,实现Runnable接口会实现里面的run方法,当线程开始的时候,Runnable中的run方法会向Handler发一个Message消息,这样,Handler类就可以接收到run方法发送过来的不同的消息进行不同的代码处理。这样就达到了各线程之间的通信。要启动一个线程调用Handler的方法postDelayed(Runnable,1000)表示线程睡眠时间是1000ms。

让播放歌曲的线程每隔1000ms,即每1秒对音轨的TextView重新设置时间且让进度条 前进1秒的进度。对音轨进行刷新。这样就实现了歌词同步功能SeekBar有一个监听器,该监听器的作用是一直保持着对进度条的监听,当我们用鼠标向SeekBar的各位置进行点击时,它会自动监听其位置,进行相应的位置显示。这也是进度条上的游标会不停的移动和歌词时间会不停的变动的原因。

2.3播放音轨

2.4播放调节功能实现

各按钮水平放置,从左到右依次是上一首、播放、下一首功能按钮。用的是布局中的线性布局LinearLayout,;将其设置为水平,如图所示。LinearLayout中依次放置播放/暂停,上一首、下一首按钮属性。

歌曲专辑图片显示,如果有歌曲图片,才会返回,否则为null,2.4控制按钮

Android的媒体播放原理:Android源程序已经为我们封装好了一个接口类,叫MediaPlayer。该接口在执行行需要一个数据源,通过如下步骤:

第一步:MediaPlayer.reset();复位操作,为以后的媒体准备播放作准备。第二步:传入歌曲数据源,这里也是一个数据MediaPlayer.setDataSource(String path);参数需要传一个路径,该接口类在收到路径后将其转化为数据源。

第三步:准备播放数据源,调用方法MediaPlayer.Prepare()。

第四步:MediaPlayer.Start();播放数据源,该数据源播放后,不再与程序有关,需要用MediaPlayer.Stop()方法让其停止或MediaPlayer.Start();让其启动。2.5歌曲列表显示界面

歌曲列表整体采用了相对布局(RelativeLayout),中间歌曲列表部分采用的是ListView视图,以确保有大量歌曲时能滚动式容纳所有歌曲,如图2.5所示,背景采用一张炫酷的图片,自定义LIstView,左侧为歌曲图片,中间为歌曲名歌手,最右边为歌曲时长。

歌曲的名称:MediaStore.Audio.Media.TITL 歌曲的歌手名:MediaStore.Audio.Media.ARTIST 歌曲的总播放时长:MediaStore.Audio.Media.DURATION

2.5歌曲列表

2.6专辑列表显示界面

专辑列表采用了网格视图(GridView)用它能实现视图的网格排列,九宫格视图就是GridVew最典型的使用,GridView是一个AdapterView,所以需要通过适配器来绑定数据,这里使用BaseAdapter。如图所示用一张网络图片作为背景,GRidView布局自定义,每个item分为两部分,上面为图片,下边为歌曲专辑名。

歌曲的专辑名:MediaStore.Audio.Media.ALBUM

2.6专辑列表

3、功能设计

该系统具有以下主要功能: 1)播放歌曲,显示歌曲名字 2)播放上一首歌和下一首歌

3)播放模式可以是循环的,也以是单曲循环 4)可以通过手势调节歌曲进度 5)可以选取歌曲进行播放

4、个人总结

通过对Android手机平台的音乐播放器的开发,使我对Android系统有了更高层次的了解,Android功能是非常强大的,在这段时间的学习与实践中遇到了很多难题,不过通过网上专门的Android 社区有些开源的代码供参考研究,同时还得到了Android高手的指点,总算给完成了,觉得蛮有意义的。

开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表组成。这两个个模块完成,音乐播放器就能初具规模。而其它的功能都是在这两个模块的基础上去补充添加的,这是功能的确是必不可少的功能,否则就不具备音乐播放器的基本功能了。

在开发过程中我学到了一些经验:系统分析的好坏将决定着的系统开发成功与否,一份好分析设计将是成功开发主要因素。总之,经过这次的Android系统技术知识的学习和对音乐播放器的构思与设计,使我对Android系统有了一定的了解,让我对Android系统上的开发流程和开发模式有了深入的了解,同时也对整个软件产品的实现流程有了一个深入的了解,这对我以后从事软件开发有很大的帮助。

第三篇:电信-音乐播放器

音乐播放器设计文档

在 android平台上开发音乐播放器是一个全新的挑战。这次通过 android QQ music 项目实战,总结出一些方法和经验,希望能够对移动平台的设计尤其是多媒体这块提供一些有价值的参考和帮助。1.1 项目背景

当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,Windows mobile,symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。

Android:是谷歌于2007年公布的开放式源代码手机系统,它的开放性就优于其它封闭式的手机系统,因此,任何人都可能根据自己的喜好将手机系统中的所有功能重新编写。这使得越来越多的人关注这个操作系统。本次作品音乐播放器就是基于Android平台的。

随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。要研究了各种市场上流行的手机播放器,了解它们各自的插件及编码方式,还有各种播放器播放的特别格式文件,分析各种编码的优缺点以及各种播放器本身存在的缺陷和特点,编写出功能实用,使用方便快捷的播放器。目前已经实现的功能有能播放常见音频文件的功能,如MP3,WAV,等,拥有播放菜单,能选择播放清单,具备一般播放器的功能,如快进,快退,音量调节等。播放模式也比较完善,有单曲,顺序,循环,随机播放等模式。

一、引入产品定义描述(Application

Definition Statement)

相信大多数设计师都有过这样的经历:在产品设计过程中,设计师和产品经理不断 pk,各抒己见,甚至闹得脸红

耳赤、拍桌翻脸,最后项目总结时又因达不到“理想目标“双方深深自责,纷纷表示”缺少交流“。彼此不断 pk,交流

绝对足够,只是我们缺少有效沟通的工具。如果能在早期建立共识,口水仗爆发的频率就会越少,真正花在产品上 的时间也就越多。这一次,我们决定更早地切入,在最开始的产品规划层面,引入“产品定义描述”(关于

ap-plicationdefinition statement,请参考《iPhone Human Interface Guidelines》)。

注意:

ADS 的定义也是一个迭代的过程,外部环境的变化、后续过程产生的问题,都可能对原 ADS 产生影响,需

要重新评估、修正,甚至否定再来,但无论如何,必须确保整个团队对 ADS 有一个共同的认识。

二、细分场景,从场景推导需求,从需求推导设计

从源头的战略层面上建立了统一的认知,我们接下来开展的工作就有根据了。既然核心是解决“移动场景听歌“的问

题,我们必须首先弄清楚什么是”移动场景“?移动环境和 PC 环境差异甚大,碎片时间的使用更为突出。用户一天

是怎么活动的呢?每次拿起手机听音乐都是什么时间?上班的公车上、走路、晚上睡觉前?在这些点上用户都会做

些什么?简单的脑暴可以罗列各个可能的使用场景,但还比较粗糙。场景的构想需要建立在高度的认知上,这时候

用研的切入显得相当关键,用户特征、喜好、使用习惯…对用户越了解,场景就越能贴近真实、越能发现更多的细

节。这些都为后续的设计决策提供了有力的依据

客观构建的场景有很多有意思的发现,比如用户在播放本地歌曲时,挑选第一首歌往往比较犹豫,但对后续播放的

歌曲却不太在意。从场景仔细分析和推敲,很容易就可以明确产品的需求,对应上述的发现,推导如下需求:为用

户提供“马上听歌”按钮引导用户直接听歌。需求的推导因为有用研的切入,避免了太多的个人情感因素。

三、敏捷原型设计,适应与借鉴并行

用研的输出以及前面的 ADS 定义为功能筛选和设计取舍提供了强有力的决策依据。在需求框架大致决定的时候,我们接下来就进行方案设计了。正所谓“一图胜千言”,原型有时候会比面面俱到的文档更直观。不同的阶段,我们

会进行不同精度的原型设计:

在原型迭代的过程中,需要注意 android平台的 UI 尴尬。与其他平台(iPhone、symbian、windows mobile)不同,an-droid 更加开放,不同的厂商不同的 ROM 版本界面规范并不统一。如果简单地将其他平台的设计规范移植过来,产品体验可能会和整个系统“格格不入”。借鉴了 android平台的一些优秀 app(比如 twitter 和 new york times)的

设计策略,我们决定“适应与借鉴并行“:在大的基础体验上,保证与系统体验一致,尊重平台使用习惯;在细节体

验上,尽量克服系统的操作困难,保证局部体验的流畅。

四、视觉方案

在整个设计过程中,我们尝试了多套风格方案,比如“梦幻光影”、“清爽夏日”、“木质桌面”“蓝色海洋”等等,由于

beta1 开发时间有限,最后选择了偏深绿色主色调的“梦幻光影”作为默认皮肤,这里奉上其他未曾谋面的方案,供 参考。

4.1 主要界面模块划分

视觉方案的第一步是对界面各模块和控件进行作出符合审美原理和需要的的合理划分和尺寸设定,这里重点会落在

正在播放界面和歌曲列表界面两块,虽然两个界面功能和承载的信息都不相同,但是在造作上两个界面跳转和切换

是紧密关联的,在各模块划分和空间比例上两个需要统筹安排,一方面考虑上下同样尺寸的“标题行”和底部“控制行

/ tab 行”一方面要考虑歌曲列表界面的列表选择合适的行高和行数。在保证每一行歌曲信息能够有足够的空间显示

整个界

从上图区域划分和比例可以看出,播放器界面,封面/歌手图片的中心点在整个界面的高度是 296,相对于面的高 480,这一比例基本是处在 0.618:1 的黄金分隔点上。4.2 正在播放界面

用户使用音乐播放器,最大的关注点一般会落在正在播放/播放器界面上,这块在视觉上是整个产品的核心区域,在很大程度上代表了整款软件的品质、品位和风格信息表达。而专辑封面/歌手头像又是正在播放界面的视觉中心,因此这块在设计上花了比较重的笔墨,用细腻的光照效果与晶莹剔透的质感精心营造了一种符合我们 QQ 音乐在手

机移动操作平台上的气质的效果。

4.3 系统菜单 icon

菜单选项 icon 是另外一个视觉信息传达比较重要的地方,对整体风格的形成起着重要作用,这里做了两种效果的

尝试,一种 A 方案:是空心边框形式,看起来弹出菜单很轻盈,一屏 6 个选项带文字不会觉得拥挤,缺点是单个

图标的轮廓有的地方不连贯,有可能会造成辨识度降低。另外最后选用的方案 B 是实心剪影的形式,这种表现方式

整个 icon 看起来很整体,比较饱满,识别度较高,不过如果一屏图标过多的话可能会稍有拥挤的感觉,但如果以

缩小的方式处理,对于手指触摸操作来说是不合理的,这里 icon 作了圆角处理和镂空实心均衡化处理,能在视觉

感受上弱化一下可能会产生的拥挤感。

4.4 出现“水波纹”的问题

色彩显示效果上 Android 系统的手机由于硬件和技术上的限制和问题,会在某些情况下产生令人抓狂的水波纹问题,在尝试的过程中大致总结了容易造成水波纹的渐变使用,如上图左边两个图块:如果使用规则的径向渐变,程序贴

图后极容易出现水波纹,另一种情况是如右边的两图块:渐变色差值过小,就是说渐变特别的细腻不显著的话也很

容易在切图程序贴图后出现明显的水波纹。所以后面在配色和设计过程中可以据此避免尽量这样的情况出现。

4.5 最终选用方案:

五、后记

(1)通过对Android手机平台的音乐播放器软件的开发,使我对Android音乐播放器系统的整体设计有一个深入的了解,对整个流程也会有一个清晰的认识。开发Android音乐播放器,要抓住开发的核心部分,音乐播放器大体由播放主界面、播放列表、菜单、播放设置、文件浏览、歌曲搜索六大核心组成,只要掌握了这六部分的开发,音乐播放器就能初具规模。而其它的功能都是在这六个功能的基础上去补充添加的,但是这是功能的确是必不可少的功能,否则就不能算是音乐播放器了。

(2)音乐播放器系统实现了播放器的基本功能:播放,暂停、停止、上/下一首、音量调节、歌词显示、播放模式、歌曲搜索、文件浏览器、播放列表查询等功能。运用的系统平台是现今最热门的Android系统,是一个开源的基于Linux系统的手机平台。是以Java语言编写+SQLite数据库支持+SharePreference配置文件的组合方式进行数据管理。实现了音乐播放器的系统编程。

(3)本次程序设计,对播放器的系统结构框架做了精心的构思与设计,采用主要开发工具是Eclipse3.5+Java语言的支持,Android Development Tool的插件,和Android SDK2.1版本的全面结合,才使整个音乐播放器系统得以实现。

(4)总之,经过几个月的Android系统技术知识的学习和对音乐播放器的构思与设计,使我对Android系统有了一定的了解,让我对Android系统上的开发流程和开发模式有了深入的了解,这对我以后的Android项目开发有很大的帮助。参 考 书 籍

《Java API文档》

《Android 系统原理及开发要点详解》 作者:韩超,梁泉 著 《Android SDK开发范例大全》

作者:郭宏志 著 《Android Google API开发文档》 作者:Google官方 《Android Application Development》 出版社: O’Reilly 《Java编程思想think of java》 作者:Bruce Eckel 《手机软件研发培训教材》

出版社:极地星空3G通信学院 参 考 文 献

[1] 张孝祥著. java就业培训教程[M].北京:清华大学出版社,2007.[2] 余志龙编著.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2009-7-1.[3] E2ECloud工作室著.深入浅出Google Android[M].北京:人民邮电出版社,2009-08-1.[4] 靳岩 姚尚朗著.Google Android开发入门与实战[M].北京:清华大学出版社,2009-07-01.[5] 高昂著.支持动态语言的Android平台[M].北京:人民邮电出版社,2009-05-07.[6] eoe.Android开发社区.http://. 2010-04-10.[9] 高焕堂编.Android 应用框架原理与程式设计(第三版)[M].北京:清华大学出版社,2008-10-03 [10] 杨丰盛主编.Android 应用开发揭秘[M].西安:机械工业出版社,2010-01-25 [11] XML解析方式DOM、SAX之比较.http://wghjay.javaeye.com/blog/519955.2009-11-18.名词术语:

JDK

Java Development Kit

Android 基于Linux操作系统的手机平台 SDK

Android Software Development Kit ADT Android Development Tool Anroid开发工具

IDE Intergrate Design Environment

集成开发环境 ADB

Android Debug Bridge 调试桥

AVD

Android Virtual Devices

Android虚拟设备

DDMS Dalvik Debug Monitor Service 调试监视服务 AIDL Android Interface Description Language Android接口描述语言 xmlns XML NamePace XML命名空间

第四篇:各种音乐播放器的比较

音乐播放器的评测

现在播放器实在是多了点,有的新手觉得眼花缭乱,不知道选什么,今天就来个点评,给大家些参考。

一、普通播放器

1:Windows Media Player(系统自带版本)

这个是非常常用的播放器,一般网吧、课室都用这个

优点:系统自带,无需安装。新版本是某些随身听播放器传输视频或者音频必须的软件。新版本在声音上有一定改善。

缺点:声音不好听!含糊不清。对各种格式支持非常不好!ape和flac这类牛B哄哄的格式别指望能播放的了。打开速度慢,系统资源占用多,缺点太多,就不一一赘述了。

音质指数:C实用指数:C

2:搜狗音乐盒、酷我音乐盒、QQ音乐、青苹果音乐播放器、酷狗音乐

这些都是网络播放器,主要功能是让大家能在播放器内直接选择最新最流行的音乐试听

优点:内置音乐排行榜,点选热门歌曲直接播放。

缺点:声音质量差,不支持无损格式,转换,修改文件信息等功能缺乏,只适合做试听之用。

音质指数:D实用指数:D

3:千千静听

非常大众化的一个播放软件

优点:使用方便,修改和编辑文件信息效率高,对各种格式的支持和转换都很好,界面也丰富多彩。官方版本自带歌词速配,非常适合想偷懒又想看歌词的人。声音还算过得去。软件还算小巧,占用小。

缺点:千千的声音对追求音质的人来说太过马虎,特别突出的问题是对DTS文件的播放,出来的效果可以用非常差来形容。默认的配置使用了均衡器(两边高中间低),可以说是扭曲了声音。

音质指数:B+实用指数:A

4:暴风Winamp

曾经风靡一时的播放器

优点:界面华丽(默认皮肤来算,如果会弄的话,很多播放器的皮肤都可以很炫),播放mp3声音还不错。功能随着版本更新越来越多。

缺点:新版本不支持ape,flac的播放,需要找插件(麻烦)。随着版本不断更新,软件越来越臃肿,无用功能太多。

音质指数:B+实用指数:B

5:jetaudio

能歌善舞的播放器

优点:这个是iAUDIO开发出来的播放器,可以播放视频,有录音功能,是个功能比较多的播放器,并且界面华丽。声音方面,和iAUDIO随身听采用同一风格的调音,中频稍微凹一下去一点。但是整体声音还是很不错的。

缺点:支持ape,但是不支持CUE(囧rz)。界面为英文,软件比较臃肿。

音质指数:A实用指数:B-

6:airplay

小巧玲珑的播放器

优点:绿色,小巧(只有200多K),打开速度快,有专辑封面自动下载功能!

缺点:播放质量差,播放无损音乐时爆音很多,一般只是用来下载专辑封面用!封面也不是每张都能找到,外国的很多都找不到。(本软件为国产软件)

音质指数:E-实用指数:E

7:foobar2000

强大且实用的播放器

优点:基本上支持所有的音频格式。适合追求音质的人使用。功能强大,可以轻松进行各种格式转换,并且支持转换格式时添加DSP。支持asio输出,声音干净。有的版本自带歌词速配。由于foobar插件无数,潜力巨大,重采样到192K,再开asio输出,声音会有明显提升!(适合高手)

缺点:对新手来说默认界面太过简陋,参数设置项看着就头疼。

音质指数:A实用指数:A+

8:beoplayer

这是个高贵的播放器

优点:乃是丹麦著名音响品牌B&O出品的播放器。界面风格非常适合高级白领。这个播放器的调音很有意思,模仿高级音响晶莹剔透的感觉,播放mp3时让人眼前一亮。

缺点:使用不方便,不支持ape和flac,无损里面只支持WAV。英文界面(当然也有汉化版),功能不多。可以换的皮肤也不多。

音质指数:A实用指数:B-

9:iTunes

平淡而不平凡的播放器

优点:这个是苹果公司开发的播放器,专门给使用ipod和iphone的人士使用。(当然普通人也可以用)使用惯了的话还算方便。平滑的声音,虽然缺少了激情,但是给人一种歌声娓娓道来的感觉(调音和苹果随身听的风格一致),属于mp3播放器中的精品之作。还可以花钱买到正版音乐,有钱人必备。

缺点:不能播放ape,flac等无损格式音频。初次使用比较麻烦。弹出窗口太多,占用应该也比较厉害,软件也很臃肿。

音质指数:A实用指数:B-

10:J River Media Center

优点:

①、声场比foobar大一圈,声音收的快,foobar相比之下有点乱,低音很结实,很强大。同样可以使用asio输出

②、好看!

③、资源占用少!看起来很夸张的界面,只占用20M的内存,CPU基本是0 ④、功能多多,跟iTunes很像,是个音乐管理软件,第一次使用需要导入媒体库,需要花一点时间(我用了10分钟)可以用来刻录音乐,也可以用来播放视频。

缺点:如果音乐较多,第一次导入时间可能会很长,最好分开来导入;操作没有foobar这么简单明了,需要一段时间习惯。不能显示歌词!

格式的支持不算很多,但是ape,FLAC,WV,wav这些基本的无损都支持,大部分的有损压缩也支持。

想要像我的一样好看的话,需要下载很多的CD封面,花点时间还是值得的!

音质指数:A+实用指数:A+

二、专业播放器

11:Cplay

这个是专业用户使用的播放器

优点:很高质量的声音,给人的感觉很大气,有人比较说:重采样开到192K的foobar才能和他一比高下。

缺点:必须要有支持asio输出的声卡才能使用该软件,支持格式有限,界面为英文,而且非常简陋,操作复杂。只适合音质狂热爱好者。

音质指数:A++实用指数:C

12:SawStudio

播放器里的神器

优点:层次分明,清晰自然地声音,胜过foobar可以说是没有什么悬念。(但个人还是认为foobar的调音听着舒服)

这个是用汇编语言写的播放器,好处自然是受到windows影响极小。

缺点:界面复杂(灰常复杂),只能播放WAV,操作麻烦,不能批量选择歌曲播放(囧rz)

没有播放列表等基本播放器的功能。因为这个本来就是专业的混音软件,不是用

来当播放器用的。

音质指数:A++实用指数:D

最后,顺便说说各个播放器为啥声音有区别。

一个原因,是解码精度的问题。

例如:

SawStudio是 64Bit定点+64bit浮点内部处理精度

foobar2000是64Bit浮点内部处理精度(其他播放器基本都低于这个精度)

解码精度越高,出来声音质量也会越高。

另一个原因,是调音的问题。

比如说前面提到的beoplayer,能用调音模仿出晶莹剔透的感觉,这个可不简单,所以出来的效果会比普通的播放器好。当然,每个人都有自己喜欢的风格,并没有规定哪个调音是最好的。

第五篇:基于Qt的音乐播放器课程设计报告

山西大学

课程设计报告

题 目:基于QT的音乐播放器

系 别: 软件学院 班 级: 1522班

姓 名:贾梦洁 学 号:

同组组员:

设计时间: 2017年12月22日----2017年12月30日

公司名称: 上海杰普软件科技有限公司

目 录

第一章 引言.......................................1 第二章 软件分析与设计.............................2 2.1软件需求分析........................................2 2.2开发环境............................................3 2.3软件概要设计........................................3

第三章 软件功能实现...............................4 3.1软件总体架构........................................5 3.2软件功能流程........................................5 3.3具体功能实现........................................6 第四章 软件测试..................................16 第五章 总结......................................17

第一章 引言

计算机技术的飞速发展大大提高了人们的工作效率,尤其是互联网技术更是很大程度上丰富和方便了人们的生活。近些年来,人们的生活水平也在不断提升,在物质丰富的条件下,人们开始在工作之余关注娱乐,期望在其它方面释放工作压力,同时培养自己的兴趣爱好,随之而来的是人们对多媒体应用的关注,许多电影播放平台、音乐播放软件等逐渐深入人们的生活,并慢慢地成为人们生活重要组成部分。

目前,互联网上已经拥有大量的音乐播放软件,这些软件是各个软件供应商的商品关键组成部分,当前其实现技术较复杂,在功能方面相当完备且强大,如何简单、高效、方便地设计实现一款小巧美观的音乐播放器软件成为人们关注的热点。基于该问题,本文设计并实现了基于Qt的音乐播放软件,该软件能够便捷、高效地为用户展示音乐播放界面,方便的进行歌曲播放和控制功能。本文的工作分为软件界面设计和软件功能实现两部分,其中,软件界面设计工作主要包括用户界面设计实现;各个功能模块实现工作主要包括后台程序编码设计模块化完成设计等内容。

该音乐播放软件以Qt开发平台中实现歌曲播放的相应功能为基本框架设计,通过C++语言编程实现各个功能函数,软件设计方面采用模块化的软件设计思想实现,具有友好的用户交互界面和高承载能力的运行稳定性。

第二章 软件分析与设计

2.1 软件需求分析

在设计实现音乐播放器软件的同时,可以对目前存在的不同类型的音乐播放器进行广泛深入的研究,查看软件可能需要的需求内容。因此,需要对具体问题进行具体分析,深入挖掘其需要实现的系统功能,以方便后面对软件构架的设计工作。需求分析的过程,是开发人员对音乐播放器工作过程的认识与熟悉的过程,也是对软件内部工作流程进行计算机建模的过程,最终目的是通过需求分析了解用户需求实现的功能,根据用户提出的需求设计好系统的概念模型,对用户提出的需求进行计算机方法的描述,并建立相应配套的需求分析文档,设计好系统的具体实现方案。

在设计实现基于Qt的音乐播放器的同时,考虑到音乐播放器的实际工作环境,可以确定的是该软件应当拥有以下几个方面的特性:

(1)基本功能

随着电脑终端的扩大化,PC机上各种软件也不计其数。为了使用户体验及软件质量都达到一定的完备性,我们需要保证一定的基础功能。基于人性化角度,开发设计基础功能,使用户可以流畅使用软件。在进行功能划分的过程当中,可以采用模块化的功能设计思想,对功能的划分尽可能的细致,做到不遗漏。例如,应当有播放模式的选择,音乐列表的选择,音量高低的调试等。(2)稳定性

基于QT的音乐播放器是一款娱乐软件,更需要保证软件的稳定性,以使用户体验达到最高。若播放器不稳定,则用户体验这一指标则会大幅下降。

(3)联通性

移动设备日益增长,微博、微信等交流平台在市场中也占据重要地位。为迎合这一现象,QT音乐播放器必须进行一定的互联网联通性。可以进行音乐分享、转发评论等。这样可以实现软件之间的交流结合,有利于软件的推广。同时也有利于通过大数据分析,得到听众最喜爱听的歌曲,符合大众口味。

2.2 开发环境

操作系统:Windows 10 开发平台:Qt 使用语言:C++

2.3 软件概要设计

在软件概要设计阶段,是基于整个系统需要实现的功能,对物业管理信息系统的整体架构进行科学合理的设计,使之有一定的规律可以遵循,不进行盲目的设计工作,这对于后期的程序编码和系统的来说意义重大。在对音乐播放器软件进行软件需求分析之后,针对需求 分析的结果,对系统进行了整体的架构设计。

设计实现的音乐播放器软件,从软件的架构来看,主要包括两个功能部分:软件的歌曲播放部分和图标最小化功能实现部分。其中,歌曲播放部分主要实现该软件的主要功能,即选择歌曲和播放歌曲;另一部分则是最小化后软件的实现,主要包括显示、登录、设置、检查更新、退出。以上是对该音乐播放器软件的整体工作架构进行的设计,该步骤是后续进一步进行系统功能实现的基础。

第三章 软件功能实现

在设计实现基于Qt的音乐播放器软件的同时,充分考虑了Qt的语言特性和开发环境,发挥了其在用户界面应用程序开发当中的优势,对音乐播放器软件进行了开发。根据前文对该音乐播放器软件的 需求分析,以及对软件的设计分析结果,结合实际使用当中可能使用到的软件功能,并采用了软件工程中模块化的开发思想,完成了该音乐播放器软件的开发,下面分别对软件中重要的功能模块的实现方法及实现效果进行详细的介绍和分析。

3.1 总体架构

通过在需求阶段对系统的总体功能的分析,我们得到了这个音乐播放器软件的总体功能结构,它应包括四大基本功能模块。

(1)选择歌曲文件模块:用户可以方便的查询环境当中存在的歌曲列表信息,并找到满意歌曲的位置和具体的歌曲内容。

(2)歌曲播放模块:用户根据所选择的具体歌曲让该软件对歌曲进行播放,并且可以实时查看歌曲的播放状态。

(3)播放状态控制模块:用户可以查看成自己在歌曲播放过程中进度情况,并可以随时更改歌曲的播放进度信息。

(4)第二界面模块:用户可以进入第二个更为简洁的界面进行播放、暂停、切换等操作。

3.2 软件功能流程

整个软件所设计的工作流程如下:

(1)开始。进入Qt界面开始运行软件。

(2)播放歌曲。该部分是音乐播放器软件最主要的功能部分,播放歌曲的功能实现需要相对复杂的函数调用来实现,在软件开发的过程 当中有具体的实现代码。

(3)播放设置。该部分的实现是进一步提高用户的使用体验,方便用户根据其自身的需求对所播放的歌曲进行进度控制,可以暂停歌曲的播放,也可以继续歌曲的播放功能,同时也可以进行音量的调控,以及对歌曲播放的顺序进行调整,比如顺序播放、单曲循环等。(4)第二界面。点击shrink按钮可跳转至第二界面,进行播放切换歌曲等操作,也可以进行最小化。

(5)结束。点击关闭软件,结束软件运行。

3.3 具体功能实现

本人完成了本次音乐播放器中的歌曲导入模块以及播放歌曲的初步工作,具体的实现过程如下。

3.3.1歌曲导入(1).h文件

歌曲导入部分的代码函数名称以及相应的函数声明完成在settingwiget.h的头文件下,先对命名空间进行前向声明,对类内的对象和方法进行声明,具体代码如下:

#ifndef SETTINGWIGET_H #define SETTINGWIGET_H

#include

namespace Ui { class settingwiget;}

class settingwiget : public QWidget { Q_OBJECT

public: explicit settingwiget(QWidget *parent = 0);~settingwiget();

void initSystemSetting(void);

bool writeInit(QString path, QString user_key, QString user_value);bool readInit(QString path, QString user_key, QString &user_value);

private slots: void on_pb_save_clicked();

void on_pb_cancle_clicked();

void on_tb_lyricsPath_clicked();

void on_tb_songsPath_clicked();

void on_pb_save_destroyed();

private: Ui::settingwiget *ui;};

#endif // SETTINGWIGET_H

(2).cpp文件

配置文件写入和读取的方法完成在settingwiget.cpp文件内,代码如下:

settingwiget::settingwiget(QWidget *parent): QWidget(parent), ui(new Ui::settingwiget){ ui->setupUi(this);

SongsFile::m_songPath.clear();LyricsFile::m_lyricPath.clear();}

settingwiget::~settingwiget(){ delete ui;}

bool settingwiget::writeInit(QString path, QString user_key, QString user_value){ if(path.isEmpty()|| user_key.isEmpty()){ return false;} else { //创建配置文件操作对象

QSettings *config = new QSettings(path, QSettings::IniFormat);

//将信息写入配置文件

config->beginGroup(“config”);config->setValue(user_key, user_value);config->endGroup();

return true;} }

bool settingwiget::readInit(QString path, QString user_key, QString &user_value){ user_value = QString(“");if(path.isEmpty()|| user_key.isEmpty()){ return false;} else { //创建配置文件操作对象

QSettings *config = new QSettings(path, QSettings::IniFormat);

//读取用户配置信息

user_value = config->value(QString(”config/“)+ user_key).toString();

return true;} }

界面设计中按钮的具体功能也对应在settingwiget.cpp文件内,代码如下:

void settingwiget::on_tb_songsPath_clicked(){ SongsFile::m_songPath = QFileDialog::getExistingDirectory();ui->le_songsPath->setText(SongsFile::m_songPath);}

void settingwiget::on_tb_lyricsPath_clicked(){ LyricsFile::m_lyricPath = QFileDialog::getExistingDirectory();ui->le_lyricsPath->setText(LyricsFile::m_lyricPath);}

void settingwiget::on_pb_save_clicked(){ writeInit(QString(”../user.ini“), ”SONGPATH“, SongsFile::m_songPath);writeInit(QString(”../user.ini“), ”LYRICPATH“, LyricsFile::m_lyricPath);

initSystemSetting();this->hide();}

void settingwiget::on_pb_cancle_clicked(){ this->hide();}

void settingwiget::initSystemSetting(void){ readInit(QString(”../user.ini“), ”SONGPATH“, SongsFile::m_songPath);readInit(QString(”../user.ini“), ”LYRICPATH“, LyricsFile::m_lyricPath);

ui->le_songsPath->setText(SongsFile::m_songPath);ui->le_lyricsPath->setText(LyricsFile::m_lyricPath);}

void settingwiget::on_pb_save_destroyed(){}

其中,cpp文件内的头文件为:

#include ”settingwiget.h“ #include ”ui_settingwiget.h“

#include #include #include #include ”musicplayer.h“ #include ”musicwiget.h“ #include ”songsfile.h“ #include ”lyricsfile.h“ 导入歌曲的页面设计完成在界面设计的settingwiget.ui文件下,如下图所示: 具体的对象为:

3.3.2歌曲播放的部分功能(1).h文件

musicplayer.h的头文件下,采用枚举类型对播放模式进行声明,写入信号和槽方便传值,对歌曲播放逻辑、歌曲列表获取逻辑、歌曲歌词获取逻辑的对象、方法进行声明,具体代码如下:

#ifndef MUSICPLAYER_H #define MUSICPLAYER_H

#include

#include #include #include

#include ”songsfile.h“ #include ”lyricsfile.h“

#define TIME_MS_DURATION 1000 #define INIT_SYSTEM_VOLUME 50

enum PlaybackMode //播放模式 { CURRENT_ITEM_ONCE = 0, //单曲播放 CURRENT_ITEM_IN_LOOP = 1, //单曲循环 SEQUENTIAL = 2, //顺序播放 LOOP = 3, //列表循环 RANDOM = 4 //随机播放

};

class MusicPlayer : public QObject { Q_OBJECT

signals: void signalPositionChanged(QString updateTime);void signalDurationChanged(qint64 duration);

public slots: void slotPositionChanged(qint64 position);void slotDurationChanged(qint64 duration);

public: explicit MusicPlayer(QObject *parent = 0);

const qint64 getTotalPlayerTime(void)const;void setTotalPlayerTime(const qint64 time);

const qint64 getCurrentPlayerTime(void)const;void setCurrentPlayerTime(const qint64 time);

/// 歌曲播放逻辑

QMediaPlayer ¤tMediaPlayer(void);

/// 歌曲列表获取逻辑

QMediaPlaylist &musicPlayList(void);QStringList &songsNameList(void);

/// 歌曲歌词获取逻辑 void getCurrentSongLyric(void);QList&lyricIndexList(void);QStringList &lyricContentList(void);

private: /// 歌曲播放逻辑

qint64 m_totalPlayerTime;qint64 m_currentPlayerTime;QMediaPlayer m_player;

/// 歌曲列表获取逻辑

SongsFile *m_songsFile;QMediaPlaylist m_musicPlayList;QStringList m_songsNameList;

/// 歌曲歌词获取逻辑

QList m_lyricIndexList;QStringList m_lyricContentList;};

#endif // MUSICPLAYER_H

(2).cpp文件

musicplayer.cpp的头文件如下:

#include ”musicplayer.h“

#include #include ”musicwiget.h“

同时在cpp文件内写入了信号与槽传值连接的方法,代码如下:

MusicPlayer::MusicPlayer(QObject *parent): QObject(parent){ m_songsFile = new SongsFile(this);

m_songsFile->initSongsListAndSongsNameList(m_musicPlayList, m_songsNameList);

m_player.setPlaylist(&m_musicPlayList);m_player.setVolume(INIT_SYSTEM_VOLUME);connect(&m_player, SIGNAL(durationChanged(qint64)), this, SLOT(slotDurationChanged(qint64)));connect(&m_player, SIGNAL(positionChanged(qint64)), this, SLOT(slotPositionChanged(qint64)));}

得到siganl后相应执行的槽函数(position),具体代码如下:

void MusicPlayer::slotPositionChanged(qint64 position){ m_currentPlayerTime = position / TIME_MS_DURATION;//歌曲进度条显示

QTime currentTime((m_currentPlayerTime/3600)%60,(m_currentPlayerTime/60)%60, m_currentPlayerTime%60,(m_currentPlayerTime*1000)%1000);QTime totalTime((m_totalPlayerTime/3600)%60,(m_totalPlayerTime/60)%60, m_totalPlayerTime%60,(m_totalPlayerTime*1000)%1000);

QString updateTime = currentTime.toString(”mm:ss“)+ ”/“+ totalTime.toString(”mm:ss");

emit signalPositionChanged(updateTime);}

void MusicPlayer::slotDurationChanged(qint64 duration){ m_totalPlayerTime = duration / TIME_MS_DURATION;//TIME_MS_DURATION 1000 emit signalDurationChanged(m_totalPlayerTime);}

以及对播放时间、播放列表等的声明,代码如下:

const qint64 MusicPlayer::getTotalPlayerTime(void)const { return m_totalPlayerTime / TIME_MS_DURATION;//INIT_SYSTEM_VOLUME 50 } void MusicPlayer::setTotalPlayerTime(const qint64 time){ m_totalPlayerTime = time;}

const qint64 MusicPlayer::getCurrentPlayerTime(void)const { return m_currentPlayerTime;} void MusicPlayer::setCurrentPlayerTime(const qint64 time){ m_currentPlayerTime = time;}

QMediaPlayer &MusicPlayer::currentMediaPlayer(void){ return m_player;}

QMediaPlaylist &MusicPlayer::musicPlayList(void){ return m_musicPlayList;}

QStringList &MusicPlayer::songsNameList(void){ return m_songsNameList;}

void MusicPlayer::getCurrentSongLyric(void){ LyricsFile lyricsFile;m_lyricIndexList.clear();m_lyricContentList.clear();lyricsFile.getCurrentSongLyric(m_lyricIndexList, m_lyricContentList);}

QList&MusicPlayer::lyricIndexList(void)//歌词索引列表 { return m_lyricIndexList;}

QStringList &MusicPlayer::lyricContentList(void)//歌词内容列表 { return m_lyricContentList;}

第四章 软件测试

软件实现截图如下:(1)主界面

(2)第二界面(3)最小化

第五章 总结

本次所设计的基于Qt的音乐播放器软件,在Windows系统环境下可以成功的运行,对于预期的功能目标已经基本实现,其中包括歌曲的选择,歌曲打开,歌曲播放,歌曲暂停,显示歌曲播放的进度条等功能。该软件的开发是在Qt Creator的开发环境下完成的程序编写工作,该开发平台简单方便,操作快捷,可以直接在Windows系统平台下安装运行,完成代码的编写后,只需要直接点击编译和运行即可使音乐播放器开始工作,按用户的选择进行歌曲播放等功能,具有一定的实用性。

通过本次毕业设计,我终于明白了“看一万行代码,不如动手写一行代码”这一句真理,对于工科类的学生来说,除了加强对对书本里的理论知识的学习之外,更重要的是培养自己实践动手的能力。这次毕业设计,让我以后面对困难时变得更有耐心,对我来说,这一精力都是在以后的生活和学习中的很宝贵的财富,极大的影响我以后的成长和发展道路。

开发时间限制,我们小组实现了系统的基本功能,软件可以实现基本功能,但是界面尚不够美观,系统也不够完善,下一步,我们会 继续改进系统。本次设计以及系统的实现让我们认识到了以前很多没有注意到的细节问题,让我学到了不少的新知识。

下载音乐播放器报告(大全5篇)word格式文档
下载音乐播放器报告(大全5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    音乐播放器课设报告要点

    音乐播放器 音乐播放器 1 问题定义和可行性研究 ................................................................ 2 (1) 问题定义 ..........................................

    基于java的音乐播放器课程设计报告

    Java课程设计报告 题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师 1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环......

    基于java的音乐播放器课程设计报告

    Java课程设计报告 题目:java音乐播放器 姓名 学号 院系 班级 专业 任课教师 1.设计内容及要求 能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环......

    MFC音乐播放器(实验报告)

    音乐播放器大型实验报告 一、实验目的 通过动手制作基于VC++的音乐播放器,了解播放器的原理。并通过自己动手,在windows播放器组件的基础上,用自己的算法,去实现自己的界面和自......

    简易音乐播放器小结

    简易音乐播放器小结 06A13142 李长波 其实我们一开始是想做一个简易视频播放器的,但后来限于目前能力有限,不得不放弃原有计划,将设计改为简易音乐播放器。一开始的视频播放器......

    微机原理课程设计——音乐播放器大全

    一. 课程设计目的 1.通过D/A装换器产生模拟信号,使PC机作为简易音乐播放器。 2.了解利用数模转换器产生音乐的基本方法。 二.课程设计任务 设计并实现一个键控音乐播放器。......

    微机原理课程设计音乐播放器

    《微机原理与接口技术》课程设计 关智杰 一、课程设计的任务和目的 课程设计题目:音乐播放器 课程设计的实现目的:本课程设计主要是通过汇编语言用软件编程的方法实现简单的音......

    java音乐播放器源代码(ChatClient)

    package ChatClient; import java.awt.*; import java.net.*; import java.awt.event.*; import java.io.*; import java.applet.*; class AudioClipWindow extends Frame......