ImageVerifierCode 换一换
格式:DOC , 页数:26 ,大小:375.54KB ,
资源ID:2496351      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/2496351.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(基于Qt的音乐播放器专业课程设计方案报告.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Qt的音乐播放器专业课程设计方案报告.doc

1、山西大学课程设计报告 题 目: 基于QT音乐播放器 系 别: 软件学院 班 级: 1522班 姓 名: 贾梦洁 学 号: 同组成员: 设计时间: 12月22日-12月30日 公司名称: 上海杰普软件科技有限公司 目 录第一章 引言.1第二章 软件分析与设计.22.1软件需求分析.22.2开发环境.32.3软件概要设计.3第三章 软件功能实现.43.1软件总体架构.53.2软件功能流程.53.3详细功能实现.6第四章 软件测试.16第五章 总结.17第一章 引言计算机技术飞速发展大大提高了人们工作效率,特别是互联网技术更是很大限度上丰富和以便了人们生活。近些年来,人们生活水平也在不断提高,在物质

2、丰富条件下,人们开始在工作之余关注娱乐,盼望在其他方面释放工作压力,同步培养自己兴趣兴趣,随之而来是人们对多媒体应用关注,许多电影播放平台、音乐播放软件等逐渐进一步人们生活,并慢慢地成为人们生活重要构成某些。当前,互联网上已经拥有大量音乐播放软件,这些软件是各个软件供应商商品核心构成某些,当前其实现技术较复杂,在功能方面相称完备且强大,如何简朴、高效、以便地设计实现一款小巧美观音乐播放器软件成为人们关注热点。基于该问题,本文设计并实现了基于Qt音乐播放软件,该软件可以便捷、高效地为顾客展示音乐播放界面,以便进行歌曲播放和控制功能。本文工作分为软件界面设计和软件功能实现两某些,其中,软件界面设计

3、工作重要涉及顾客界面设计实现;各个功能模块实现工作重要涉及后台程序编码设计模块化完毕设计等内容。该音乐播放软件以Qt开发平台中实现歌曲播放相应功能为基本框架设计,通过C+语言编程实现各个功能函数,软件设计方面采用模块化软件设计思想实现,具备和谐顾客交互界面和高承载能力运营稳定性。第二章 软件分析与设计2.1 软件需求分析在设计实现音乐播放器软件同步,可以对当前存在不同类型音乐播放器进行广泛进一步研究,查看软件也许需要需求内容。因而,需要对详细问题进行详细分析,进一步挖掘其需要实现系统功能,以以便背面对软件构架设计工作。需求分析过程,是开发人员对音乐播放器工作过程结识与熟悉过程,也是对软件内部工

4、作流程进行计算机建模过程,最后目是通过需求分析理解顾客需求实现功能,依照顾客提出需求设计好系统概念模型,对顾客提出需求进行计算机办法描述,并建立相应配套需求分析文档,设计好系统详细实现方案。在设计实现基于Qt音乐播放器同步,考虑到音乐播放器实际工作环境,可以拟定是该软件应当拥有如下几种方面特性: (1) 基本功能随着电脑终端扩大化,PC机上各种软件也不计其数。为了使顾客体验及软件质量都达到一定完备性,咱们需要保证一定基本功能。基于人性化角度,开发设计基本功能,使顾客可以流畅使用软件。在进行功能划分过程当中,可以采用模块化功能设计思想,对功能划分尽量细致,做到不漏掉。例如,应当有播放模式选取,音

5、乐列表选取,音量高低调试等。(2) 稳定性基于QT音乐播放器是一款娱乐软件,更需要保证软件稳定性,以使顾客体验达到最高。若播放器不稳定,则顾客体验这一指标则会大幅下降。(3) 联通性 移动设备日益增长,微博、微信等交流平台在市场中也占据重要地位。为迎合这一现象,QT音乐播放器必要进行一定互联网联通性。可以进行音乐分享、转发评论等。这样可以实现软件之间交流结合,有助于软件推广。同步也有助于通过大数据分析,得到听众最爱慕听歌曲,符合大众口味。2.2 开发环境操作系统:Windows 10开发平台:Qt使用语言:C+2.3 软件概要设计在软件概要设计阶段,是基于整个系统需要实现功能,对物业管理信息系

6、统整体架构进行科学合理设计,使之有一定规律可以遵循,不进行盲目设计工作,这对于后期程序编码和系统来说意义重大。在对音乐播放器软件进行软件需求分析之后,针对需求分析成果,对系统进行了整体架构设计。设计实现音乐播放器软件,从软件架构来看,重要涉及两个功能某些:软件歌曲播放某些和图标最小化功能实现某些。其中,歌曲播放某些重要实现该软件重要功能,即选取歌曲和播放歌曲;另一某些则是最小化后软件实现,重要涉及显示、登录、设立、检查更新、退出。以上是对该音乐播放器软件整体工作架构进行设计,该环节是后续进一步进行系统功能实现基本。第三章 软件功能实现在设计实现基于Qt音乐播放器软件同步,充分考虑了Qt语言特性

7、和开发环境,发挥了其在顾客界面应用程序开发当中优势,对音乐播放器软件进行了开发。依照前文对该音乐播放器软件需求分析,以及对软件设计分析成果,结合实际使用当中也许使用到软件功能,并采用了软件工程中模块化开发思想,完毕了该音乐播放器软件开发,下面分别对软件中重要功能模块实现办法及实现效果进行详细简介和分析。3.1 总体架构通过在需求阶段对系统总体功能分析,咱们得到了这个音乐播放器软件总体功能构造,它应涉及四大基本功能模块。(1) 选取歌曲文献模块:顾客可以以便查询环境当中存在歌曲列表信息,并找到满意歌曲位置和详细歌曲内容。(2)歌曲播放模块:顾客依照所选取详细歌曲让该软件对歌曲进行播放,并且可以实

8、时查看歌曲播放状态。(3)播放状态控制模块:顾客可以查当作自己在歌曲播放过程中进度状况,并可以随时更改歌曲播放进度信息。(4)第二界面模块:顾客可以进入第二个更为简洁界面进行播放、暂停、切换等操作。3.2 软件功能流程整个软件所设计工作流程如下:(1)开始。进入Qt界面开始运营软件。(2)播放歌曲。该某些是音乐播放器软件最重要功能某些,播放歌曲功能实现需要相对复杂函数调用来实现,在软件开发过程当中有详细实当代码。(3)播放设立。该某些实现是进一步提高顾客使用体验,以便顾客依照其自身需求对所播放歌曲进行进度控制,可以暂停歌曲播放,也可以继续歌曲播放功能,同步也可以进行音量调控,以及对歌曲播放顺序

9、进行调节,例如顺序播放、单曲循环等。(4)第二界面。点击shrink按钮可跳转至第二界面,进行播放切换歌曲等操作,也可以进行最小化。(5)结束。点击关闭软件,结束软件运营。3.3 详细功能实现本人完毕了本次音乐播放器中歌曲导入模块以及播放歌曲初步工作,详细实现过程如下。3.3.1歌曲导入(1).h文献歌曲导入某些代码函数名称以及相应函数声明完毕在settingwiget.h头文献下,先对命名空间进行前向声明,对类内对象和办法进行声明,详细代码如下:#ifndef SETTINGWIGET_H#define SETTINGWIGET_H#include namespace Ui class se

10、ttingwiget;class settingwiget :public QWidget Q_OBJECTpublic: 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: vo

11、id 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(

12、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 /创立配备文献操作对象 QS

13、ettings *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.is

14、Empty() 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 = QFi

15、leDialog: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.in

16、i),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(QS

17、tring(./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

18、.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 #in

19、clude songsfile.h#include lyricsfile.h#define TIME_MS_DURATION 1000#define INIT_SYSTEM_VOLUME 50enum PlaybackMode /播放模式 CURRENT_ITEM_ONCE = 0, /单曲播放 CURRENT_ITEM_IN_LOOP = 1, /单曲循环 SEQUENTIAL = 2, /顺序播放 LOOP = 3, /列表循环 RANDOM = 4 /随机播放;class MusicPlayer :public QObject Q_OBJECTsignals: void signalPo

20、sitionChanged(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(co

21、nst 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 &lyricInd

22、exList(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_lyricConte

23、ntList;#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_songsNam

24、eList); 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),详细代码如下:v

25、oid 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_totalPla

26、yerTime/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

27、_DURATION 1000 emit signalDurationChanged(m_totalPlayerTime);以及对播放时间、播放列表等声明,代码如下:const qint64 MusicPlayer:getTotalPlayerTime(void) const return m_totalPlayerTime / TIME_MS_DURATION; /INIT_SYSTEM_VOLUME 50void MusicPlayer:setTotalPlayerTime(const qint64 time) m_totalPlayerTime = time;const qint64 Mu

28、sicPlayer: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;QStringL

29、ist &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)/歌词索引列表 retur

30、n m_lyricIndexList;QStringList &MusicPlayer:lyricContentList(void)/歌词内容列表 return m_lyricContentList;第四章 软件测试软件实现截图如下:(1) 主界面 (2) 第二界面 (3) 最小化 第五章 总结本次所设计基于Qt音乐播放器软件,在Windows系统环境下可以成功运营,对于预期功能目的已经基本实现,其中涉及歌曲选取,歌曲打开,歌曲播放,歌曲暂停,显示歌曲播放进度条等功能。该软件开发是在Qt Creator开发环境下完毕程序编写工作,该开发平台简朴以便,操作快捷,可以直接在Windows系统平台下

31、安装运营,完毕代码编写后,只需要直接点击编译和运营即可使音乐播放器开始工作,按顾客选取进行歌曲播放等功能,具备一定实用性。通过本次毕业设计,我终于明白了“看一万行代码,不如动手写一行代码”这一句真理,对于工科类学生来说,除了加强对对课本里理论知识学习之外,更重要是培养自己实践动手能力。这次毕业设计,让我后来面对困难时变得更有耐心,对我来说,这一精力都是在后来生活和学习中很宝贵财富,极大影响我后来成长和发展道路。开发时间限制,咱们小组实现了系统基本功能,软件可以实现基本功能,但是界面尚不够美观,系统也不够完善,下一步,咱们会继续改进系统。本次设计以及系统实现让咱们结识到了此前诸多没有注意到细节问题,让我学到了不少新知识。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服