收藏 分销(赏)

基于python的音频播放器的设计与实现.pdf

上传人:曲**** 文档编号:229837 上传时间:2023-03-20 格式:PDF 页数:55 大小:1.97MB
下载 相关 举报
基于python的音频播放器的设计与实现.pdf_第1页
第1页 / 共55页
基于python的音频播放器的设计与实现.pdf_第2页
第2页 / 共55页
基于python的音频播放器的设计与实现.pdf_第3页
第3页 / 共55页
基于python的音频播放器的设计与实现.pdf_第4页
第4页 / 共55页
基于python的音频播放器的设计与实现.pdf_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、本科学生毕业论文(设计)题目(中文):基于python的音频播放器的设计与实现(英 文):Based on the design and implementation ofpythons audio player姓 名学 号院(系)电子工程系专业、年级 电子信息工程级指导教师湖南科技学院本科毕业论文(设计)诚信声明本人郑重声明:所呈交的本科毕业论文(设计),是本人在指导 老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产 权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或 集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个 人和集体均已在文中以明确方式标明。本人完

2、全意识到本声明的法律 结果由本人承担。本科毕业论文(设计)作者签名:年 月 日毕业论文(设计)任务书课题名称:基于python的音频播放器的设计与实现学生姓名:_系 别:_电子工程系_专 业:_电子信息工程_指导教师:湖南科技学院本科毕业论文(设计)任务书1、主题词、关键词:python语言,音频播放器,Wave波形显示2、毕业论文(设计)内容要求:1)开发环境与开发工具的介绍;2)软件界面窗口的实现;3)音频解析与播放功能的实现;4)波形解析与显示的实现;5)界面、功能整体优化。6)软件调试与测试结果7)其它A3、文献查阅指引:1 http:srinikom.github.io/pyside

3、-docs/pyside 文档2 http:qt-QT 文档projcct.org/3 matplot 文档http:matplotlib.org/4 numpy 文档http:/www.numpy.org/5 CSDN 论坛http:/ 开源中 国社区http: Guido van Rossum.Foreword for Programming Python(1st ed.).1996/5/112 Python Software Foundation.Python 3.0b3 Release.2008/8/20 2008/8/3013 Python Language Guide(vl.O).

4、Google Documents List Data API vl.O.Google.14冯建元.音频播放器的架构分析与关键技术的实现J.计算机与网络.2009(20)4、毕业论文(设计)进度安排:1)2012年7月-12月:学习计算机编程基础(C&J ava);2)2012年11月:选定论文题目;3)2013年2月:实现了软件界面及播放器的基本功能;4)2013年3月:加入波形模块;5)2013年4月上旬:完成系统整合并开始着手写论文初稿;6)2013年4月中旬:继续完善软件界面与功能,论文初稿基本完成;7)2013年5月上旬:程序代码优化完成,论文定稿,准备答辩。教研室意见:负责人签名:注

5、:本任务书一式三份,由指导教师填写,经教研室审业后一份下达给学生,f 交指导教师,f 留系里存档。B湖南科技学院本科毕业论文(设计)开题报告书 论文(设计)题目 基于python的音频播放器的设计与实现作 者姓名 徐锌涛 所属系、专业、物 电子工程系电子信息工程专业2009年级指导教师姓名、职称 张文昭高级实验师 预计字数 10000 开题日期 2012.12.22选题的根据:1)说明本选题的理论、实际意义2)综述国内外有关本选题的研究动态和自己的见解1)本选题的理论、实际意义如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷狗、千千静听、QQ音乐等,这类软件使我们能随心所欲

6、的欣赏音乐,有的软件还能够看到 音乐的波形。基于对这方面的爱好,借助软件方面的知识,可以试着做一个软件,将音 频播放与波形解析这两个主要功能整合在一起,做出属于自己的音乐播放器。2)国内外有关本选题的研究动态和自己的见解在国外,音乐播放器主要有REALPLAYER、KMPLAYER及微软自带的WMP等。不过我们还是习惯于用国内的,在国内的音乐播放器市场上,有所谓的“四大天王”,他们分别是千千静听、酷狗音乐、酷我音乐以及QQ音乐。四款软件经过自身各个版本 的升级更新,在功能及用户体验上都有着长足的进步。目前国内做过的有关音频波形的研究主要有两个,一个是胡守超的基于Python语 言的音频捕获及频

7、谱分析设计:利用python编程语言和directsound的音频数据捕获技 术,并对采集到的音频数据进行了相关分析处理,实时显示其波形和频谱。另一个是基 于python何月顺的音频数据处理研究与应用:介绍了基于python的音频数据处理函数;实现了自动测试声音文件的格式、声音文件的播放及声音文件在不同的存储格式之间的 转换;对声音进行分离与合成;提取声音的特征值以便进行分析与鉴别;改变原始声音 的采样速率、采样编码、采样宽度等。国外主流的专业的多媒体解析与编辑软件是Adobe公司开发的系列软件,Audition 专为在照相室、广播设备和后期制作设备方面工作的音频和视频专业人员设计,可提供 先

8、进的音频混合、编辑、控制和效果处理功能。本设计所做的设计是仿照Adobe Audition这款软件,在Windows环境下,利用python 编程语言来实现音频播放与波形解析两大功能。C主要内容:1.主要研究内容:本课题主要是研究并设计了一个可显示波形的音频播放器。其中重点设计实现 音频数据解析及波形绘制的功能。本课题研究的内容主要有以下几个方面:1)开发环境与开发工具;2)软件界面窗口的实现;3)音频解析与播放功能的实现;4)波形解析与显示的实现。2.重点解决的问题:音频数据解析与音乐波形的绘制。3.预期的研究成果:软件所需功能已经实现研究方法:1.学习python语法、QT designe

9、r界面设计;2.设计音频播放器功能;3.加入波形绘制部分;4,查阅国内外最新资料,开拓视野,对已有的成果加以分析利用。完成期限和采取的主要措施:1、完成期限:2012.7.16-2013.5.61)2012年7月-12月:学习计算机编程基础(C&J ava);2)2012年11月:选定论文题目;3)2013年2月:实现了软件界面及播放器的基本功能;4)2013年3月:加入波形模块;5)2013年4月上旬:完成系统整合并开始着手写论文初稿;6)2013年4月下旬:继续完善软件界面与功能,论文初稿基本完成;7)2013年5月上旬:程序代码优化完成,论文定稿,准备答辩;2、主要措施:1)密切联系本组

10、设计成员及毕业设计指导导师,寻求有关毕业设计信息,确定 设计课题方向与设计内容;2)充分利用图书馆和网络查阅相关资料,广泛获取必要的知识,了解最新研究 动态。3)虚心向老师请教和同学进行学习交流,保障毕业设计的顺利完成。D主要参考资料:1 http:srinikom.github.io/pyside-docs/pyside 文档2 http:qt-QT 文档project.org/3 matplot 文档http:matDlotlib.org/4 numpy 文档htmwww.numpy.org/5 CSDN 论坛http: 开源中国社区http: Guido van Rossum.Forew

11、ord for Programming Python(1st ed.).1996/5/112 Python Software Foundation.Python 3.0b3 Release.2008/8/20 2008/8/3013 Python Language Guide(vl.O).Google Documents List Data API vl.0.Google.14冯建元.音频播放器的架构分析与关键技术的实现J.计算机与网络.2009(20)指导教师意见:指导教师签名:_教研室意见:签名:年 月 口E开 题报告 会纪要时间2012-12-22地点3-706与 会 人 员姓名职务(职

12、称)姓名职务(职称)姓名职务(职称)刘志壮教授陈泽顺副教授刘爱林副教授张文昭高级实验师徐晓高级实验师周玲讲师会议记录摘要:1.此论题的现实意义?近年来,在网络上出现了各种各样的音视频播放器,在工作之余通过听歌来释放压力、娱乐身 心。一款实用的、方便的、高效的播放器成为了 PC等设备上的必备软件。通过选做此题可培养编程能力及自主创新能力,将理论与实际相结合,做出一款可同步显示波 形的音频播放器。2.此研究包含的主要模块?本研究计划在eclipse编辑器里用python语言编程,实现播放器功能和波形同步显示功能这两个 模块。3.研究需注意的问题及重难点部分?需要注意python库函数的调用及一些工

13、具包的导入等问题。重难点在于音乐波形的绘制,波形 的精确显示等。会议主持人:记录人:年 月 日系 部忌、负责人签名:见 负责人签名:年 月 日 年 月 日注:此表由学生本人填写,一式三份,一份留系里存档,指导老师和本人各保存一份F湖南科技学院毕业论文(设计)中期检查表毕业论文(设计)题 目基于python的音频播放器的设计与实现学生姓名徐锌涛学 号200906002327系 另电子工程系业电子信息工程指导教师张文昭检查日期2013-4-10指导教师检查情况记载及修改意见:已经完成的工作:1、2、3、4、5、完成了软件整体界面的设计;完成所以格式音频播放的功能;完成了音乐波形的绘制;基本完成了软

14、件性能的优化;论文大部分内容已经完成。F一步的工作:1、进一步完善波形的绘制部分;2、完成软件各模块的整合3、同时继续论文的写作工作,找出错误,完善论文;签名:_G湖南科技学院毕业设计(论文)指导过程记录表毕业论文(设计)题目基于python的音频播放器的设计与实现学生姓名徐锌涛学号200906002327专业班级电信0903指导教师张文昭职称高级实验师系(教研室)电子技术教研室指 导 过 程 记 录指导内容 记录(一)查找资料及讨论选题。学生签名:2012年12月22 指导教师签名:2012年12月22日指导内容 记录(二)确定标题,下达设计任务书。学生签名:年 月 日指导教师签名:年 月

15、日指导内容 记录(三)设计可行性分析及开题报告的写作。学生签名:年 月 日指导教师签名:年 月 日指导内容 记录(四)论文的构思及基本框架。学生签名:年 月 日指导教师签名:年 月 日H注:本表与毕业论文一起装订存档。指导过程记录指导内容 记录(五)设计中的软件开发方案程序设计思路的讨论。学生签名:年 月 日指导教师签名:年 月 日指导内容 记录(六)中期检查,内容及结构的合理性。学生签名:年 月 日指导教师签名:年 月 日指导内容 记录(七)论文内容修改。学生签名:年 月 日指导教师签名:年 月 日指导内容 记录(八)论文格式修改。学生签名:年 月 日指导教师签名:年 月 日答辩小组组长意

16、见(对情况是否属实做出意见)组长(签名):年 月 日I湖南科技学院本科毕业论文(设计)评审表论文题目基于python的音频播放器的设计与实现作者姓名徐锌涛所属系、专业、年级电子工程系电子信息工程专业2009年级指导教师 姓名、职称张文昭高级实验师字数10000定稿日期2013.5.8中文摘要如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷 狗、千千静听、QQ音乐等,这类软件使我们能随心所欲的欣赏音乐,有的软件还能 够看到音乐的波形。基于对这方面的爱好,借助软件方面的知识,可以试着做一个 软件,将音频播放与波形解析这两个主要功能整合在一起,做出属于自己的播放器。本论文设计实现

17、了 一种在windows环境下可显示波形的音频播放器,利用Qt designer设计音频播放器的界面,利用Eclipse编辑工具为软件开发平台,用 Python语言编程来实现音频播放器的各种功能。该音频播放器由音乐播放模块和波形显示模块组成,音乐播放模块能播放所有 音视频格式的文件,具有:暂停、停止功能,以及声音控制、音量调节、进度条调 节、时间定位、快进快退等功能。波形显示模块能同步显示wav格式文件波形,波 形可放大缩小等功能。关键词python语言,音频播放器,Wave波形显示英 文 摘 要Now is an information-based multimedia era,appear

18、ed on the I nternet all kinds of parsing of audio software,like cool dog,QQ music,etc.,this software enables us to follow ones inclinations appreciate the music,and some software also can see the music of the waveform.Based on the interest in this area,with the aid of software knowledge,can try to d

19、o a software,audio playback and waveform analysis integrated with the two major functions,to make their own players.This thesis designed and implemented in a Windows environment can display the waveform of the audio player,audio player using Qt designer design the interface,use the Eclipse editing t

20、ool for software development platform,using the Python programming language to realize the functions of audio player.The audio player is composed of music playback module and waveform display module,music playback module can all audio and video file formats,has:pause,stop function,and the voice cont

21、rol,volume control,the progress bar to adjust,time orientation,fast forward,fast rewind.Waveform display module can synchronize wav format file waveform,the waveform can be zoom in,and other functions,etc.KeywordsThe python language,audio player,Wave waveform displayJ说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总

22、分90100分记 为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。指导教师评定成绩评审 基元评审要素评审内涵满分指导教师 实评分选题 质量 25%目的明确 符合要求选题符合专业培养目标,体现学科、专业特点和 教学计划的基本要求,达到毕业论文(设计)综 合训练的目的。10理论意义 或实际价值符合本学科的理论发展,有一定的学术意义;对经 济建设和社会发展的应用性研究中的某个理论或 方法问题进行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力 水平 40%查阅文献 资料能力能独立查阅相关文献资料,归纳总结本论文所涉 及的

23、有关研究状况及成果。10综合运用 知识能力能运用所学专业知识阐述问题;能对查阅的资料进 行整理和运用;能对其科学论点进行论证。10研究方案 的设计能力整体思路清晰;研究方案合理可行。5研究方法和手 段的运用能力能运用本学科常规研究方法及相关研究手段(如计 算机、实验仪器设备等)进行实验、实践并加工处 理、总结信息。10外文应用 能力能阅读、翻译一定量的本专业外文资料、外文摘要 和外文参考书目(特殊专业除外)体现一定的外语 水平。5论文 质量 35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、

24、量和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分_ 成绩等级_指导教师评审意见:指导教师签名:_K说明:评定成绩分为优秀、良好、中等、及格、不及格五个等级,实评总分90100分记 为优秀,8089分记为良好,7079分记为中等,6069分记为及格,60分以下记为不及格。评阅教师评定成绩评审 基元评审要素评审内涵满分评阅教师 实评分选题 质量 25%目的明确 符合要求选题符合专业培养目标,体现学科、专业特点和教学 计划的基本要求,达到毕业论文(设计)综合训练的 目的。10理论意义或 实际价值符合本学科的理论发展,有一定的学术意义;对经济建 设和社会发展的应用性研究

25、中的某个理论或方法问题进 行研究,具有一定的实际价值。10选题恰当题目规模适当,难易度适中;有一定的科学性。5能力 水平 40%查阅文献 资料能力能独立查阅相关文献资料,归纳总结本论文所涉及的 有关研究状况及成果。10综合运用 知识能力能运用所学专业知识阐述问题;能对查阅的资料进行整 理和运用;能对其科学论点进行论证。10研究方案的 设计能力整体思路清晰;研究方案合理可行。5研究方法和 手段的运用 能力能运用本学科常规研究方法及相关研究手段(如计算机、实验仪器设备等)进行实验、实践并加工处理、总结信 息。10外文应用 能力能阅读、翻译一定量的本专业外文资料、外文摘要和外 文参考书目(特殊专业除

26、外)体现一定的外语水平。5论文 质量 35%文题相符较好地完成论文选题的目的要求。5写作水平论点鲜明;论据充分;条理清晰;语言流畅。15写作规范符合学术论文的基本要求。用语、格式、图表、数据、量 和单位、各种资料引用规范化、符合标准。10论文篇幅10000字左右。5实评总分_ 成绩等级_评阅教师评审意见:评阅教师签名:_L湖南科技学院本科毕业论文(设计)答辩记录表论文题目基于python的音频播放器的设计与实现作者姓名徐锌涛 所属系、专业、年级电子工程系电子信息工程专业2009年级指导教师 姓名、职称张文昭 高级实验师答辩会纪要时间2013-05-18地点 3-707答 辩 小 组 成 员姓名

27、职务(职称)姓名职务(职称)姓名职务(职称)刘志壮教授陈泽顺副教授刘爱林副教授张文昭高级实验师徐晓高级实验师周玲讲师答辩中提出的主要问题及回答的简要情况记录:1.为什么用python语言开发,有什么优势?答:python是一种面向对象的开源的脚本语言,其语法简洁,编写方便。由于它是开源的,所以里面很多函数可以直接调用,这样能够大大提高编程效率。2.音乐波形的起伏表示了什么?答:波形的起伏表示的是声音强度的高低。3.为什么只能解析出wav格式的波形?答:这是由于python的库里没有转码的函数,而所用绘图工具matplot只能将原始无压缩 音乐的波形画出来。会议主持人:记录人:年 月 日M答 辩

28、 小 组后、见评语:评定等级:负责人(签名):年 月 日系 学 位 委 员 会息、见评语:论文(设计)最终评定等级:负责人(签名):系部(公章)年 月 口校 学 位 委 员 会忌、见评语:评定等级:负责人(签名):年 月 日N目录绪论.1国内外研究现状.1本设计所做的工作.21软件开发环境与开发工具.31.1 Eclipse 软件简介.31.2 Python语言简介.31.3 所用至!J的python工具包.42软件界面窗口的实现.52.1 Qt Designer 软件简介.52.2 软件整体界面的绘制.52.3 将.ui文件转为.py文件.63音频解析与播放功能的实现.123.1 phono

29、n 模块简介.123.2 功能具体实现过程.124波形显示的实现.164.1 对WAV文件获取数据.164.2 根据音频数据绘制音乐波形.174.2.1 音频数据全部波形.174.2.2 当前时间段波形.204.2.3 上下波形区整合.265系统整合与测试.295.1 程序主界面整合.295.2 系统测试效果.30I结论.错误!未定义书签。32参考文献.错误!未定义书签。33致谢.34II基于python的音频播放器的设计与实现摘要如今是信息化多媒体时代,互联网上出现了各种各样的解析音频的软件,像酷 狗、千千静听、QQ音乐等,这类软件使我们能随心所欲的欣赏音乐,有的软件还能 够看到音乐的波形。

30、基于对这方面的爱好,借助软件方面的知识,可以试着做一个 软件,将音频播放与波形解析这两个主要功能整合在一起,做出属于自己的播放器。本论文设计实现了一种在windows环境下可显示波形的音频播放器,利用Qt designer设计音频播放器的界面,利用氏lipse编辑工具为软件开发平台,用Python 语言编程来实现音频播放器的各种功能。该音频播放器由音乐播放模块和波形显示模块组成,音乐播放模块能播放所有 音视频格式的文件,具有:暂停、停止功能,以及声音控制、音量调节、进度条调 节、时间定位、快进快退等功能。波形显示模块能同步显示wav格式文件波形,波 形可放大缩小等功能。【关键词】:python

31、语言,音频播放器,Wave波形显示IIIBased on the design and implementation of pythons audio playerAbstractNow is an information-based multimedia era,appeared on the I nternet all kinds of parsing of audio software,like cool dog,QQ music,etc.,this software enables us to follow ones inclinations appreciate the music,

32、and some software also can see the music of the waveform.Based on the interest in this area,with the aid of software knowledge,can try to do a software,audio playback and waveform analysis integrated with the two major functions,to make their own players.This thesis designed and implemented in a Win

33、dows environment can display the waveform of the audio player,audio player using Qt designer design the interface,use the Eclipse editing tool for software development platform,using the Python programming language to realize the functions of audio player.The audio player is composed of music playba

34、ck module and waveform display module,music playback module can all audio and video file formats,has:pause,stop function,and the voice control,volume control,the progress bar to adjust,time orientation,fast forward,fast rewind.Waveform display module can synchronize wav format file waveform,the wave

35、form can be zoom in,and other functions,etc.Key words:The python language,audio player,Wave waveform displayI V绪论随着人们对精神文化的追求,听音乐成了人们最广泛的业余爱好。目前在互联 网上,音频播放器软件可谓千姿百态,各领风骚。音乐播放器是一种用于播放各种 音乐文件的多媒体播放软件。它涵盖了各种音乐格式的播放工具,比如:MP3播放 器,WMA播放器,MP4播放器等。它们不仅界面美观,而且操作简单,带你进入 一个完美的音乐空间。音乐播放器就是音频解码器的可视化操作界面,其实质是针对各种

36、音频编码格 式的解码器。大部分音乐播放器都支持多种音乐格式的文件,这是因为这些播放器 将不同的音频解码器打包起来,并制作统一的播放界面,从而让使用者能够方便地 播放和聆听各种首乐O正因为音乐播放器仅仅是将音频解码器打包,而同一种音频的解码方式又是固 定的,因此理论上所有播放器的音质应当是完全相同的,并不存在音质最好的音乐 播放器。有些音乐播放器会在解码器的基础上添加DSP插件,对原始的音乐进行转 换和扭曲,以迎合人们的喜好(如加强低音或过滤细节),美其名曰优化音质以获得 天籁之音,实质却是破坏原本音乐,虽然能够使部分音乐更好听,却也导致另一些 音乐音质大打折扣。音乐播放器的人性化界面和扩展性才

37、是各种音乐播放器的特色所在。大部分商 业版播放软件往往将界面打造得非常华丽,操作也十分简便,但却缺乏扩展性,支 持格式较少。开源播放软件一般能够较好地进行扩展,支持较多的音乐格式,但往 往界面朴素,难以吸引用户。国内外研究现状在国外,音乐播放器主要有REALPLAYER、KMPLAYER及微软自带的WMP 等。不过我们还是习惯于用国内的,在国内的音乐播放器市场上,有所谓的“四大 天王”,他们分别是千千静听、酷狗音乐、酷我音乐以及QQ音乐。四款软件经 过自身各个版本的升级更新,在功能及用户体验上都有着长足的进步。目前国内做过的有关音频波形的研究主要有两个,一个是胡守超的基于Python 语言的音

38、频捕获及频谱分析设计:利用python编程语言和directSound的音频数据捕 获技术,并对采集到的音频数据进行了相关分析处理,实时显小其波形和频谱网。另一个是何月顺的基于python的音频数据处理研究与应用:介绍了基于python的音 频数据处理函数;实现了自动测试声音文件的格式、声音文件的播放及声音文件在 不同的存储格式之间的转换;对声音进行分离与合成;提取声音的特征值以便进行 分析与鉴别;改变原始声音的采样速率、采样编码、采样宽度等。国外主流的专业的多媒体解析与编辑软件是Adobe公司开发的系列软件,Audition专为在照相室、广播设备和后期制作设备方面工作的音频和视频专业人员设

39、计,可提供先进的音频混合、编辑、控制和效果处理功能。本研究所做的工作本研究仿照Cool Edit Pro软件的界面及功能,主要运用python语言和eclipse程 序编辑器和Qt designer软件及一系列python工具包,设计出一款音频播放器,实现 了全格式的音频播放及显示wave格式文件的波形等功能。21软件开发环境与开发工具1.1 Eclipse软件简介Eclipse是著名的跨平台的自由集成开发环境(I DE)。最初主要用来J ava语言开 发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工 具。氏lipse的本身只是一个框架平台,但是众多插件的支持使得

40、Eclipse拥有其他功 能相对固定的I DE软件很难具有的灵活性。Eclipse的插件机制是轻型软件组件化架构。在客户机平台上,Eclipse使用插件 来提供所有的附加功能,例如支持J ava以外的其他语言。已有的分离的插件已经 能够支持C/C+(CDT)、Perk Ruby,Python telnet和数据库开发。插件架构能 够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种 编程语言。Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件 的形式附加于氏lipse核心之上。Eclipse基本内核包括:图形API(SWT/J fhce),

41、J ava 开发环境插件(J DT),插件开发环境(PDE)等。氏lipse SDK(软件开发者包)是Eclipse Platfdrm、J DT和PDE所生产的组件合 并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允 许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由 Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目 生产的软件以GPL发布,第三方组件有各自自身的许可协议。1.2 Python语言简介Python0是一种解释型、面向对象、动态数据类型的高级程序设计语言。自从20 世纪

42、90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web 编程。Python已经成为最受欢迎的程序设计语言之一。由于Python语言的简洁、易读以及可扩展性,在国外用Python做科学计算的研 究机构日益增多,一些知名大学已经采用Python教授程序设计课程。众多开源的科 学计算软件包都提供了 Python的调用接口。而Python专用的科学计算扩展库就更多 了,例如如下3个十分经典的科学计算扩展库;NumPy、SciPy和matplotlib,它们 分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其 众多的扩展库所构成的开发环境十分适合

43、工程技术、科研人员处理实验数据、制作 图表,甚至开发科学计算应用程序。3Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语 句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规 则。一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行 的首字符在这一行的位置来决定的(而C语言是用一对花括号来明确的定出模块 的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语 言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语 言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,fbr和函数定

44、义等 所有需要使用模块的地方),Python确实使得程序更加清晰和美观。Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完 全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载 运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计 只提供了有限的支持。Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字 节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。除此之外,Python还可以以交互模式运行,比如主流操

45、作系统Unix/Linux、Mac window都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可 实现交互操作。1.3 所用到的python工具包在开发过程中所需的python工具包有pyside,matplotlib,numpy,pysideuic等。PySide 1是跨平台的应用程式框架Qt的Python绑定版本。Matplotlib3用于绘制波形。Numpy4用于对音频数据进行科学计算。Pysideuic用于将.ui文件转换为.py文件。42软件界面窗口的实现2.1 Qt Designer 软件简介Qt Designer是一个GUT的工具.这个工具可以加快编写QT

46、程序的速度.利用 QT Designer可以用一种所见既所得的方式,来产生QT程序的GUI介面的代码.通过 增加一些功能,就可以完成一个程序了。首先,用Qt Designer来搭建整体界面,并保存为UI文件,然后在CMD命令解 释器中输入命令将UT文件转换为PY文件。2.2 软件整体界面的绘制整个界面由上中下三部分构成,最上面一层是播放器层,这一层由时间编辑盒、文件选择按钮、文件路径文本框、播放(暂停)&停止按钮、音量调节条、波形放大 按钮、波形缩小按钮、快退按钮、快进按钮、时间显示器、进度条这些部件构成;中间一层是动态波形区;最下面一层是静态波形区。运行Qt Designer软件,首先新建一

47、个窗口,向里面从左往右依次添加,时间编 辑盒、文件选择按钮、文件路径文本框、播放(暂停)&停止按钮、音量调节条、波 形放大按钮、波形缩小按钮、快退按钮、快进按钮、时间显示器、进度条这些部件,然后将布局设为水平模式。然后再新建一个窗口,将窗口划分为上下两个部分,下 面是音乐的全部波形,即静态波形,上面是播放位置附近区域的波形,即动态波形。这样,软件整体的界面就画出来了(如图1所示)。_图1软件整体界面52.3 将.ui文件转为.py文件通过Qt Designer,可得至U ui文件,接着需要将ui文件转换为python的py文件。打开windows的命令提示符cmd,进入ui文件所在目录,执行语

48、句:pyside-uic a.uia.py,这样就生成了界面对应的python文件。代码如下:class Ui toolBoxWidget(object):def setupUi(self,tooI BoxWidget):toolBoxWidget.setObjectName(toolBoxWidget)toolBoxWidget.resize(1623,170)toolBoxWidget.setAutoFillBackground(True)self.gridLayout=QtGui.QGridLayout(toolBoxWidget)self.gridLayout.setContentsM

49、argins(0,0,0,0)self.gridLayout.setObjectName(gridLayout)self verticalLayout=QtGui.QVBoxLayout()selverticalLayout.setSpacing(0)self verticalLayout.setContentsMargins(0,0,0,0)self verticalLayout.setObjectName(verticalLayout)selfhorizontalLayout=QtGui.QHBoxLayout()selhorizontalLayout.setSpacing(l 0)sel

50、horizontalLayout.setObjectName(horizontalLayout)selftimeEditmusic=QtGui.QTimeEdit(toolBoxWidget)seltimeEdit_music.setMinimumSize(QtCore.QSize(60,25)self.timeEdit_music.setMaximumSize(QtCore.QSize(100,16777215)selftimeEdit_music.setTime(QtCore.QTime(0,0,0)selftimeEdit_music.setMinimumDate(QtCore.QDat

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告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 

客服