音乐播放器的详细设计

合集下载

音乐播放器的详细设计

音乐播放器的详细设计

音乐播放器详细设计1.引言随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。

而3G时代的到来,手机移动应用越来越普遍。

此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。

1.1 编写目的为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。

本文档供项目组成员,软件开发人员参考。

1.2项目背景本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。

该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。

1.3 参考资料[1] 彭重庆大学出版社《软件工程》“软件计划与可行性分析”[2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》[3] 可行性分析[4] 《音乐播放器需求分析书》[5] 《音乐播放器总体设计说明书》1.4项目开发计划实施计划:在技术方面,编程知识比较缺乏,对有些与项目相关的软件不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。

2. 总体设计2.1 项目目的本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。

设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取存储卡播放等多种播放控制,界面简明,操作简单。

软件系统检测到错误行为时,报告错误,并提示处理操作。

2.2 软件运行环境硬件:Android操作系统手机系统软件:Android 2.2 -- 4.0版本支撑软件:Eclipse 7.5 、ADT 1.52.3 需求概述根据项目,我们可以获得项目系统的基本需求,从功能需求、界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。

音乐播放器软件课程设计

音乐播放器软件课程设计

软件课程设计实验报告课题:音乐点播系统班级:作者:学号:指导老师:课设评价:课设成绩:(小组报告)一、需求分析1)项目描述 (3)1.1编写目的 (3)1.2项目背景 (3)1.3开发工具及环境简介 (4)2)软件基本要求 (4)二、总体方案设计说明1)整体结构模型 (5)2)各部分功能具体内容及关系 (5)3)任务分配 (6)三、详细设计说明1)客户端设计1.1图形界面设计和列表管理 (6)1.2本地播放 (9)1.3特色功能的实现 (10)1.4客户端与服务器通信 (12)2)服务器端设计2.1服务器界面设计 (14)2.2乐库管理14 (14)2.3服务器与客户端通信 (16)四、测试过程说明1)测试步骤 (16)2)测试结果与测评 (17)五、功能模块使用说明1)客户端 (18)2)服务器端 (19)六、开发计划 (20)七、开发总结与建议 (21)一、需求分析1)项目描述1.1编写目的设计一个基于windows平台的音乐点播系统,实现音乐库的管理以及用户网络下载和播放功能。

通常音乐播放器能够满足音乐的播放功能,实现一款播放器的基本功能,但随着网络的日益发达以及人们对信息交互的需要,越来越多的情况下我们更多的是通过网络来获取音乐资源,但如何有效的实现这一目的以及提供良好的用户体验是其关键。

通过window socket服务将客户端与服务器端相连接,将资源信息通过客户端来显示,不但简洁方便同时也能更好的满足用户需求,给用户带来极大的方便。

1.2项目背景本项目作为《软件课程设计》课程的训练项目提出,在基本的设计实现基础上,将不断对已有的设计进行进一步的修改和完善,最终完成整个软件开发过程。

本次项目的旨在通过不同软件工程设计方法与技术的实践,了解和掌握各种技术、工具平台的特点与局限性,体会协同开发方式。

第1阶段:主要目的是通过对项目需求的分析和理解,通过面向对象的设计方式完成项目前期的准备工作。

音乐播放器课程设计

音乐播放器课程设计

音乐播放器课程设计一、课程目标知识目标:1. 学生能够理解音乐播放器的基本原理和功能。

2. 学生掌握音乐播放器界面设计的基本元素和布局。

3. 学生了解音乐播放器中不同音乐格式及其特点。

技能目标:1. 学生能够使用音乐播放器软件进行音乐播放、暂停、停止等基本操作。

2. 学生能够通过音乐播放器软件对音乐进行分类、排序和搜索。

3. 学生能够运用所学知识设计和制作简单的音乐播放器界面。

情感态度价值观目标:1. 培养学生对音乐的热爱和欣赏能力,提高审美情趣。

2. 培养学生团队协作和沟通能力,学会分享和交流音乐心得。

3. 增强学生对科技产品的认识,激发创新意识和探索精神。

课程性质:本课程为信息技术与音乐相结合的综合性课程,注重实践操作和实际应用。

学生特点:六年级学生具有一定的信息技术基础和音乐素养,对新事物充满好奇,喜欢动手实践。

教学要求:结合学生特点,采用任务驱动法,引导学生自主探究和合作学习,注重理论与实践相结合,提高学生的实际操作能力和创新能力。

通过本课程的学习,使学生能够将所学知识应用于实际生活,提升音乐欣赏和信息技术素养。

二、教学内容1. 音乐播放器原理与功能- 了解音乐播放器的基本构成和原理- 掌握音乐播放器的主要功能及操作方法2. 音乐播放器界面设计- 学习音乐播放器界面设计的基本原则- 分析并模仿经典音乐播放器界面布局3. 音乐格式及特点- 介绍常见音乐格式(如MP3、WAV等)及其特点- 了解音乐格式对播放效果和文件大小的影响4. 音乐播放器操作与使用- 学习使用音乐播放器软件进行基本操作(播放、暂停、停止等)- 掌握音乐播放器的高级功能(如音乐分类、排序、搜索等)5. 设计制作音乐播放器界面- 学习运用设计软件制作音乐播放器界面- 结合团队协作,设计并展示个性化的音乐播放器界面教学大纲安排:第一课时:音乐播放器原理与功能第二课时:音乐播放器界面设计第三课时:音乐格式及特点第四课时:音乐播放器操作与使用第五课时:设计制作音乐播放器界面教学内容关联教材章节:《信息技术》六年级上册:第五章 多媒体技术应用,第三节 音乐播放器原理与使用。

音乐播放器课程设计报告

音乐播放器课程设计报告

课程设计报告课程名称PLD原理与应用设计题目音乐播放器专业通信工程四位抢答器摘要随着我国经济和文化事业的发展,在这个竞争激烈的社会中,知识竞赛、评选优胜,选拔人才之类的活动愈加频繁。

在很多竞争场要求有快速公正的竞争裁决,例如:证劵、股票交易及各种智力竞赛等。

在现代社会生活中,智力竞赛更是作为一种生动活泼的教育形式和方法能够引起观众极大的兴趣。

但是、在竞赛中往往是多个选手一起,分为几个小组参加比赛,针对主持人提出的问题各竞赛小组进行抢答,而抢答环节就要有一种逻辑电路抢答器作为裁判员功能、实现其比赛公平、公正的规则。

智能抢答器是一种应用十分广泛的设备,在各种竞赛、抢答场合中,它都能客观、迅速地判别出最先获得发言权的选手。

新增了许多功能,如选手号码显示,抢按后的计时,选手得分显示等功能。

随着科技的发展,现在的抢答器向着数字化、智能化的方向发展.本设计借助于QuartusⅡ软件仿真制作了四人抢答器。

通过选手按动按键的先后,判定由哪位选手回答问题,并且实现倒计时和对选手加分的功能。

本设计分为三个模块:控制模块、计时模块、计分模块,各个模块共同作用,以实现整个设计的总体功能。

关键词:QuartusⅡ,仿真,抢答器,控制模块,计时模块,计分模块Four-way responderABSTRACTWith the development of China's economic and cultural undertakings, in this competitive society, knowledge contests, selection of superior, talents such as activities more and more frequent. In many competitive games require fast fair competition award. In the modern society life, quiz is as a kind of lively education form and the method can cause the audience interest. But, in the competition is often several players together, divided into several groups to participate in the game, against the host question carries on the competition team vies to answer first, vies to answer first link will have a logic circuit buzzer as referee function, achieve the game rules of fairness and justice.Smart responder is a kind of equipment, they are widely used in various competitions, vies to answer first, it can be objective, quickly won the voice discriminant out first. Added many features, such as the contestant number display, rob after pressing time, players score shows, and other functions. With the development of science and technology, now the responder toward digital, intelligent direction.This design with the aid of Quartus Ⅱsoftware simulation produced four responder. Through the player has to press a button, decide which players to answer the question, and can realize the function of the countdown and the player points. This design is divided into three modules: control module, timing module, scoring module, each module combination, to achieve the over all function of the whole design.KEY WORDS: QuartusⅡ,Simulation ,Answer four device,Control,Timing,Scoring目录前言 (1)第1章绪论 (2)1.1 抢答器系统图 (2)1.2 抢答器设计要求 (2)1.3 基本功能 (3)第2章模块设计 (4)2.1 主控制模块 (4)2.1.1 主要功能 (4)2.1.2 代码编写 (4)2.1.3 仿真波形及其分析 (6)2.2计时模块 (7)2.2.1 主要功能 (7)2.2.2 代码编写 (7)2.2.3 仿真波形及其分析 (8)2.3 计分模块 (9)2.3.1 主要功能 (9)2.3.2 代码编写 (9)2.3.3 仿真波形及其分析 (12)第3章顶层电路 (13)3.1 电路图 (13)3.2 抢答器工作原理 (14)3.2.1 各个端口的含义 (14)3.2.2 操作流程及相应波形图 (14)结论 (16)谢辞 (17)参考文献 (18)前言关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。

基于Android系统的音乐播放器设计与实现

基于Android系统的音乐播放器设计与实现
基于Android系统的音乐播 放器设计与实现
01 一、需求分析
目录
02 二、设计思路
03 三、实现步骤
04 四、注意事项
05 参考内容
内容摘要
随着移动设备的普及和Android操作系统的不断发展,基于Android系统的应 用程序开发也越来越受到。其中,音乐播放器作为手机用户的常用应用之一,其 设计和实现具有重要意义。本次演示将介绍一种基于Android系统的音乐播放器 设计和实现的方法。
三、具体实现
三、具体实现
1、登录功能:用户可以通过或第三方社交账号登录,并设置密码。登录后, 用户可以浏览自己的音乐库,以及搜索歌曲、歌手、专辑等;
三、具体实现
2、搜索功能:用户可以通过关键字搜索歌曲、歌手、专辑等,也可以通过分 类筛选;
3、播放功能:用户可以播放、暂停、调节音量、添加歌曲到播放列表、从播 放列表中删除歌曲等操作;
4、其他功能实现
4、其他功能实现
除了音乐播放和音频处理,音乐播放器还需要实现其他功能,如歌词显示、 播放控制、定时关机等。这些功能可以通过Android SDK提供的API和Java编程 语言来实现。例如,可以使用Java的线程和定时器技术来实现定时关机功能。
四、总结
四、总结
本次演示介绍了基于Android的音乐播放器设计与实现的基本内容和实现方法。 主要包括了音乐播放器的功能概述、设计思路和实现方法等方面的内容。通过这 些内容的介绍,希望能对大家有所帮助,让我们一起努力,为美好的音乐事业贡 献自己的力量!
三、实现步骤
2、界面设计:使用XML布局文件设计界面,包括主界面、播放列表界面、歌 曲详情界面等。
三、实现步骤
3、数据库设计:创建SQLite数据库,定义表结构并实现增删改查操作。 4、音频解码和播放:使用MediaPlayer类进行音频解码和播放,实现播放、 暂停、停止等功能。

音乐播放器的设计—课程设计论文

音乐播放器的设计—课程设计论文

单片机课程设计报告项目名称音乐播放器的设计专业班级通信111班学生姓名指导教师2013年12月6日I摘要本设计是一个基于AT89S52系列单片机的音乐播放器,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐播放器。

该音乐播放器主要由按键电路、显示电路、复位电路、时钟电路以及蜂鸣器组成。

使用四个按键控制音乐播放器,两个用来切换歌曲,即上一曲和下一曲;一个用作暂停,还有一个是复位键。

本音乐播放器共有三首歌曲。

播放歌曲时,按上一曲和下一曲数码管就会相应的显示出当前播放的歌曲,利用暂停来控制歌曲的播放/停止。

本设计利用KEIL编程软件对音乐播放器源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试。

本播放器具有电路简单,功能强大,易于拓展等特点。

关键词:单片机;音乐播放器;蜂鸣器;数码管I IAbstractThis design is a series based on AT89S52 SCM music player, based on single chip microcomputer technology principle, through the hardware circuits and software compilation, design to produce a multi-functional multi-purpose music player. The music player is mainly composed of the key circuit, display circuit and reset circuit, clock circuit and a buzzer. Using four buttons control the music player, two used to switch songs, on the one and the next song; One used as a pause and a reset button. This music player three songs. Play songs, according to one song and the next song digital tube will be corresponding shows the current playing song, using the pause to play/stop control songs. This design using the KEIL programming software for music player source program of programming and debugging, cooperate with the PROTEUS simulation software for hardware simulation debugging. This player has the circuit is simple, powerful, easy to expand, etc.Key words: single chip microcomputer; Music player; Buzzer.; Digital tube;I I I目录摘要 (I)Abstract ....................................................................................................I II 目录 . (IV)第1章绪论 (1)1.1 单片机概述 (1)1.2 课题概述 (1)第2章设计目的、要求、仪器及芯片 (3)2.1 设计目的 (3)2.2 设计要求 (3)2.3 设计使用的仪器 (3)2.4 单片机芯片介绍 (4)第3章硬件电路设计 (6)3.1 总体设计方案 (6)3.2 单元电路设计 (6)3.2.1 晶振电路 (6)3.2.2 复位电路 (7)3.2.3 发声电路 (7)3.2.4 显示电路 (7)3.3 总体电路 (8)第4章系统的软件设计 (9)4.1 音乐产生原理 (9)4.1.1 音调和节拍 (9)4.1.3 编码 (10)4.2 总体流程图 (11)4.3 键控子程序 (12)4.3.1 播放/暂停子程序 (12)4.3.2 曲目选择子程序 (13)4.4 程序的编译 (14)4.4.1 KEIL软件简介 (14)4.4.2 程序的编译 (15)I V第5章电路仿真调试 (16)5.1 仿真平台 (16)5.1.1 PROTEUS软件简介 (16)5.2 仿真测试 (16)5.3 测试总结 (17)总结 (18)致谢 (19)参考文献 (20)项目创新及特色 (21)附录1 程序清单 (22)附录2 元器件清单 (26)附录3 电路实物图 (27)V第1章绪论1.1单片机概述单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。

网络音乐播放器设计说明书解析

网络音乐播放器设计说明书解析

网络音乐播放器V1.0设计说明书北京华康嘉合科技有限公司目录第一章引言........................................................................................................... - 1 -1.1 项目背景................................................................................................... - 1 -1.2 编写目的.................................................................................................... - 1 -1.3 网络流行音乐播放器简介........................................................................ - 2 -1.3.1 千千静听............................................................................. - 2 -1.3.2 酷狗音乐............................................................................. - 2 -第二章系统需求分析............................................................................................. - 4 -2.1 功能需求(用例图分析)....................................................................... - 4 -2.1.1 播放器的基本控制需求....................................................... - 4 -2.1.2 播放清单列表管理需求....................................................... - 6 -2.1.3 播放友好性需求................................................................... - 8 -2.1.4 播放器扩展卡需求............................................................... - 9 -2.1.5 功能需求(时序图)分析..................................................... - 10 -2.2 系统结构图和流程图............................................................................. - 11 -2.3 系统界面需求......................................................................................... - 13 -2.4 系统性能需求......................................................................................... - 13 -2.5 运行环境需求......................................................................................... - 13 -第三章 Android数据库设计................................................................................ - 14 -3.1 数据库及字段属性设计......................................................................... - 14 -3.1.1 字段设计(表、图)......................................................... - 14 -3.1.2 音乐播放器E-R图 .............................................................. - 16 -3.2 数据库连接............................................................................................. - 16 -3.2.1 创建数据库......................................................................... - 16 -3.2.2 操作数据库......................................................................... - 17 -3.2.3 数据显示............................................................................. - 18 -第四章 Android项目介绍.................................................................................... - 19 -4.1 什么是Android?.................................................................................. - 19 -4.1.1 Android简介...................................................................... - 19 -4.1.2 Android Features特性.................................................... - 19 -4.1.3 Android基本框架(Android Architecture).............. - 20 -4.1.4 Android系统的四大组件.................................................. - 23 -4.2 搭建Android开发环境......................................................................... - 24 -4.3 Android常用工具的使用...................................................................... - 26 -4.3.1 命令行的使用..................................................................... - 26 -4.3.2 Dalvik Debug Monitor Service (DDMS)的使用........... - 27 -4.4 Android 音乐播放器的工程................................................................. - 27 -4.4.1 Android项目...................................................................... - 27 -4.4.2 Android工程程序结构...................................................... - 28 -4.4.3 AndroidManifest.xml文件.............................................. - 29 -第五章播放器系统功能详细设计....................................................................... - 33 -5.1音乐播放器主界面功能实现.................................................................. - 33 -5.1.1 播放器主界面..................................................................... - 33 -5.1.2 播放界面音轨的实现......................................................... - 34 -5.1.3 播放器播放、暂停、停止等功能..................................... - 37 -5.2 播放列表功能......................................................................................... - 38 -5.3 菜单功能................................................................................................. - 40 -5.3.1 菜单界面............................................................................. - 40 -5.3.2 菜单功能实现..................................................................... - 41 -5.4 播放设置界面......................................................................................... - 43 -5.4.1 界面实现............................................................................. - 43 -5.4.2 歌词显示实现..................................................................... - 44 -5.5 手机扩展卡的访问................................................................................. - 46 -5.5.1 文件浏览器界面................................................................. - 47 -5.5.2 文件浏览器功能实现......................................................... - 48 -5.6 数据存储方式......................................................................................... - 49 -5.6.1 SharedPreferences........................................................... - 49 -5.6.2 File存储方式.................................................................... - 50 -5.6.3 SQLiteDatabase数据库.................................................... - 50 -参考书籍........................................................................................................... - 52 -摘要当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本文主要是对Android系统上一的款音乐播放器应用程序的设计。

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

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

微机原理课程设计音乐播放器微机原理课程设计-音乐播放器一.课程设计目的1.通过d/a装换器产生模拟信号,并使pc机做为轻便音乐播放器。

2.介绍利用数模转换器产生音乐的基本方法。

二.课程设计任务设计并同时实现一个键控音乐播放器。

建议:(1)自己选用合适的芯片,不少于两种。

(2)自行设计电路并采用汇编语言编写程序顺利完成键控音乐播放器功能。

(3)该播放器有若干首歌曲可以选择,开始时输出说明,要用户选择要播放的歌曲,然后根据用户按键展开播出、选择退出或失效提示信息。

三、总体设计方案1、总体设计方案一所有音乐都是由各个不同频率的音阶和其延续时间的长短来实现的。

不同的音乐是由各个音阶按某种排列各自播放一定时间形成的,将各音乐音阶和其延续时间存在数据段中,然后根据不同按键值选择不同的音阶和时间表,再使用计数器产生该音阶频率。

而我们学过的有计数器可以产生各种频率,所以我们主要采用计数器8253产生各音符,用8255并行接口来控制扬声器的开关,达到播放音乐的功能。

2、总体设计方案二可以使用0832(数模转换器)来产生频率,原理图:更已连续,效果更好点。

提出这个方案是因为我想产生模拟信号,来驱动扬声器,这样产生的声音更加圆润感觉我们想要把一个周期的波形分为32份,然后每份给8253一个值使他转换成模拟信号,相同的频率可以用8253计数器掌控,比如说必须产生261hz的频率,采用1mhz的话,周期就为1/261=3.83ms,分为32份,每份间隔时间就是3.83ms/32=0.12ms,换句话说就是送来计数器0的初值为1m/261/32=120次。

3、各个音符的对应频率表:音符频率/hz半周期/us音符频率/hz半周期/us高1do2621908#4fa#7400676#1do#2771805中5so7840638高2re2941700#5so#8310602#2re#3111608中6la8800568高3m3301516#6la#9320536高4fa3491433中7si9880506#4fa#3701350低1do10460478高5so3921276#do#11090451#5so#4151205低2re11750426高6la4401136#2re#12450402#6la#4661072低3m13180372高7si4941012低4fa13970358中1do5230956#4fa#14800338#1do#5540903低5so15680319中2re5780842#5s0#16610292#2re#6220804低6la17600284中3m6590759#6la#18650268中4fa6980716低7si19760253四.部分电路设计及功能解说1、频率出现电路使用8253产生音符频率。

基于单片机多功能音乐播放器的设计

基于单片机多功能音乐播放器的设计

多功能音乐播放器的设计一、 设计任务与设计原理 1、设计任务(1) 可播放多首音乐,且通过按键来选择播放的音乐 (2) 选择音乐时,音乐名称在LCD 上显示(3) 音乐播放种类跨度要大一些,播放声音要清晰 电路原理图⑴、单片机最小系统电路,主要由:时钟振荡电路、复位电路、电源电路等组 成。

图2-1-2 单片机最小系统电路(2)、矩阵键盘输入电路⑶、LCD12864显示电路B O -------C O —图2-1-3 矩阵键盘输入电路图2-1-4 LCD12864显示电路(4) 、蜂鸣器播放电路POO/ADO P01/AD1 PO.2/AD2 PO3/AD3 PO.4/AD4 P0S/AD5 PO6/AD6 PO7/AD7 P2 <MA0 P2 1/A9 P2 2/A10 P2.J/A11 P2A/A12 P2 WA13 P2 7/A15 P3 CVRX Dpa.irrxoP3.2/IN1O P3.3/INT1 P3 4/TO P3 5fT1 P3.6AVRLCD1C, ! I -m m o -.J1J RV1 iDR?3531-■L - J J B JJZETJD0- JL'JIxTALIRSTPQ QTADO PO HW L DI P0 2/AD2 P0 3/AM P0 4/ACMP0 5/AD5 ro&AD6TO 决MP2 (¥A6 P2 P2 2MT0 1 PSEF4P2MT1 ALEP2.^AT2 EAP2 0M330图2-1-5 蜂鸣器播放电路2整体电路原理图LC01图2-1-6 系统仿真效果图二、软件设计 1、 流程图设计2、完整程序代码整个KEIL工程文件有4个.C文件和1个头文件组成,具体代码如下: (1 ) PlayMusic . c#include <REG52.H> #include "SoundPlay.h" #include<math.h>#define uchar unsigned char #define uint unsigned intsbit WAI_INT0=P3A2; // 复位//水平与垂直偏移uchar H_Offset=0; // uchar V_page_Offset=0; extern uchar Key_Num; extern uchar code Name_Of_Song[]; extern uchar KeyScan(); // 矩阵键盘扫描子程序extern voidLCD12864_Initialization();extern void Display_Word(uchar P2,uchar L2,uchar *M) reentrant; extern void Display_char(ucharP1,uchar L1,uchar *M) reentrant; void delay(uint K); //延时子程序void key_process();// 矩阵键盘按键处理子程序void Delay1ms(uint count){unsigned int i,j;for(i=0;i<count;i++) for(j=0;j<120;j++);}//*****************************Music******************************************************//挥着翅膀的女孩unsigned char code Music_Girl[]={ 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x03,0x16,0x03, 0x17,0x03, 0x17,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x02, 0x18,0x03,0x17,0x03, 0x15,0x02, 0x18,0x03, 0x17,0x03, 0x18,0x02,0x10,0x03, 0x15,0x03, 0x16,0x02, 0x15,0x03, 0x16,0x03,0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x1A,0x03,0x1B,0x03, 0x1F,0x03, 0x1F,0x03, 0x17,0x03, 0x18,0x03,0x19,0x02, 0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x03,0x18,0x03, 0x1F,0x03, 0x1F,0x02, 0x16,0x03, 0x17,0x03,0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02,0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03,0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x1F,0x03,0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03,0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03, 0x19,0x03,0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03,0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03,0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x1A,0x03, 0x1A,0x03, 0x1A,0x03,0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x19,0x02, 0x17,0x03, 0x15,0x17, 0x15,0x03,0x16,0x03, 0x17,0x03, 0x18,0x03, 0x17,0x04, 0x18,0x0E, 0x18,0x03, 0x17,0x04, 0x18,0x0E,0x18,0x66, 0x17,0x03, 0x18,0x03, 0x17,0x03, 0x18,0x03, 0x20,0x03, 0x20,0x02, 0x1F,0x03,0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66,0x1F,0x04, 0x1B,0x0E, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66, 0x1A,0x03,0x19,0x03, 0x15,0x03, 0x15,0x03, 0x17,0x03, 0x16,0x66, 0x17,0x04, 0x18,0x04, 0x18,0x03,0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x66, 0x20,0x03, 0x21,0x03, 0x20,0x03, 0x1F,0x03,0x1B,0x03, 0x1F,0x66, 0x1F,0x03, 0x1B,0x03, 0x19,0x03, 0x19,0x03, 0x15,0x03, 0x1A,0x66,0x1A,0x03, 0x19,0x03, 0x19,0x03, 0x1F,0x03, 0x1B,0x03, 0x1F,0x00, 0x18,0x02, 0x18,0x03,0x1A,0x03, 0x19,0x0D, 0x15,0x03, 0x15,0x02, 0x18,0x66, 0x16,0x02, 0x17,0x02, 0x15,0x00,0x00,0x00}; //同一首歌unsigned char code Music_Same[]={ 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x66, 0x18,0x03, 0x17,0x02, 0x15,0x02, 0x16,0x01, 0x15,0x02, 0x10,0x02, 0x15,0x00,0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x02, 0x17,0x03, 0x18,0x03, 0x19,0x02, 0x15,0x02,0x18,0x66, 0x17,0x03, 0x19,0x02, 0x16,0x03, 0x17,0x03, 0x16,0x00, 0x17,0x01, 0x19,0x02,0x1B,0x02, 0x1B,0x70, 0x1A,0x03, 0x1A,0x01, 0x19,0x02, 0x19,0x03, 0x1A,0x03, 0x1B,0x02, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x18,0x66, 0x18,0x03, 0x19,0x02, 0x1A,0x02, 0x19,0x0C,0x18,0x0D, 0x17,0x03, 0x16,0x01, 0x11,0x02, 0x11,0x03, 0x10,0x03, 0x0F,0x0C, 0x10,0x02,0x15,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x1B,0x02, 0x1B,0x03,0x1B,0x03, 0x1B,0x0C, 0x1A,0x0D, 0x19,0x03, 0x17,0x00, 0x1F,0x01, 0x1A,0x01, 0x18,0x66, 0x19,0x03, 0x1A,0x01, 0x10,0x02, 0x10,0x03, 0x10,0x03, 0x1A,0x0C, 0x18,0x0D, 0x17,0x03,0x16,0x00, 0x0F,0x01, 0x15,0x02, 0x16,0x02, 0x17,0x70, 0x18,0x03, 0x17,0x02, 0x15,0x03,0x15,0x03, 0x16,0x66, 0x16,0x03, 0x16,0x02, 0x16,0x03, 0x15,0x03, 0x10,0x02, 0x10,0x01,0x11,0x01, 0x11,0x66, 0x10,0x03, 0x0F,0x0C, 0x1A,0x02, 0x19,0x02, 0x16,0x03, 0x16,0x03,0x18,0x66, 0x18,0x03, 0x18,0x02, 0x17,0x03, 0x16,0x03, 0x19,0x00,0x00,0x00 };//两只蝴蝶unsigned char code Music_Two[] ={ 0x17,0x03, 0x16,0x03, 0x17,0x01, 0x16,0x03, 0x17,0x03,0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03,0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01, 0x17,0x03, 0x16,0x03, 0x17,0x01,0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02, 0x16,0x0D,0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x15,0x03, 0x16,0x01, 0x17,0x03, 0x16,0x03,0x17,0x01, 0x16,0x03, 0x17,0x03, 0x16,0x03, 0x15,0x01, 0x10,0x03, 0x15,0x03, 0x16,0x02,0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0E, 0x15,0x04, 0x0F,0x01,0x17,0x03, 0x19,0x03, 0x19,0x01, 0x19,0x03, 0x1A,0x03, 0x19,0x03, 0x17,0x01, 0x16,0x03,0x16,0x03, 0x16,0x02, 0x16,0x0D, 0x17,0x03, 0x16,0x03, 0x15,0x03, 0x10,0x03, 0x10,0x0D,0x15,0x00, 0x19,0x03, 0x19,0x03, 0x1A,0x03, 0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03,0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x0D, 0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03,0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03,0x19,0x03, 0x17,0x03, 0x19,0x02, 0x1F,0x02, 0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04,0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x17,0x0D, 0x16,0x03, 0x17,0x03, 0x19,0x01, 0x19,0x03, 0x19,0x03, 0x1A,0x03,0x1F,0x03, 0x1B,0x03, 0x1B,0x03, 0x1A,0x03, 0x17,0x0D, 0x16,0x03, 0x16,0x03, 0x16,0x03,0x17,0x01, 0x17,0x03, 0x17,0x03, 0x19,0x03, 0x1A,0x02, 0x1A,0x02, 0x10,0x03, 0x17,0x0D,0x16,0x03, 0x16,0x01, 0x17,0x03, 0x19,0x03, 0x19,0x03, 0x17,0x03, 0x19,0x03, 0x1F,0x02,0x1B,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x02, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x17,0x16, 0x1A,0x03, 0x1A,0x03, 0x1A,0x0E, 0x1B,0x04, 0x1A,0x03, 0x19,0x03, 0x17,0x03, 0x16,0x03, 0x0F,0x02, 0x10,0x03, 0x15,0x00, 0x00,0x00 };//死了都要爱unsigned char code Music_Three[]={ 0x17,0x03, 0x1F,0x02, 0x1F,0x03, 0x1F,0x03, 0x1F,0x02,0x20,0x03, 0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x16,0x03,0x16,0x03, 0x17,0x04, 0x17,0x04, 0x17,0x15, 0x18,0x03,0x18,0x04, 0x19,0x0E, 0x19,0x03, 0x1A,0x03, 0x16,0x02,0x16,0x04, 0x17,0x0E, 0x17,0x03, 0x18,0x16, 0x1A,0x04,0x1A,0x04,0x1B,0x03, 0x1A,0x04, 0x1B,0x0E, 0x1B,0x01,0x17,0x18, 0x17,0x03, 0x1F,0x02, 0x1F,0x03, 0x1F,0x03,0x1F,0x02, 0x20,0x03, 0x1B,0x03, 0x1A,0x03, 0x19,0x03,0x16,0x03, 0x16,0x02, 0x17,0x04, 0x17,0x0E, 0x17,0x15,0x18,0x02, 0x18,0x04, 0x19,0x0E, 0x19,0x03, 0x1A,0x03,0x1F,0x02, 0x1B,0x02, 0x1A,0x15, 0x15,0x02, 0x0D,0x02,0x0E,0x02, 0x0D,0x03, 0x0D,0x03, 0x11,0x03, 0x11,0x03,0x0D,0x03, 0x11,0x03, 0x15,0x04, 0x15,0x0E, 0x1F,0x02,0x10,0x02, 0x10,0x03, 0x0F,0x03, 0x0E,0x66, 0x0E,0x03,0x0C,0x03, 0x0E,0x03, 0x16,0x03, 0x15,0x03, 0x15,0x67,0x11,0x04, 0x11,0x0E, 0x1B,0x02, 0x15,0x02, 0x0D,0x02,0x0E,0x66, 0x0D,0x03, 0x0D,0x03, 0x11,0x03, 0x11,0x03,0x0D,0x03, 0x11,0x03, 0x15,0x04, 0x15,0x0E, 0x15,0x04,0x17,0x03, 0x17,0x04, 0x17,0x03, 0x18,0x03, 0x10,0x02,0x10,0x67, 0x0F,0x03, 0x10,0x00, 0x18,0x0B, 0x18,0x03,0x19,0x03, 0x18,0x03, 0x16,0x03, 0x18,0x03, 0x17,0x03,0x17,0x15, 0x16,0x03, 0x16,0x04, 0x16,0x0E, 0x16,0x04,0x16,0x04, 0x17,0x03, 0x18,0x04, 0x17,0x67, 0x16,0x04,0x15,0x67, 0x15,0x03, 0x15,0x04, 0x15,0x0E, 0x15,0x04,0x15,0x04, 0x17,0x68, 0x17,0x0E, 0x17,0x03, 0x10,0x03,0x15,0x03, 0x17,0x03, 0x18,0x66, 0x18,0x04, 0x19,0x04,0x1A,0x03, 0x19,0x03, 0x18,0x03, 0x18,0x03, 0x18,0x03,0x17,0x04, 0x17,0x0E, 0x17,0x02, 0x16,0x04, 0x15,0x0E,0x15,0x16, 0x18,0x03, 0x18,0x04, 0x19,0x0E, 0x19,0x03,0x1A,0x03, 0x16,0x03, 0x16,0x04, 0x17,0x0E, 0x17,0x03,0x18,0x17, 0x1A,0x03, 0x1B,0x03, 0x1A,0x03, 0x1B,0x16,0x17,0x03, 0x1F,0x02, 0x1F,0x03, 0x1F,0x03, 0x1F,0x66,0x20,0x03, 0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x16,0x03,0x16,0x03, 0x17,0x04, 0x17,0x0E, 0x17,0x7B, 0x18,0x03,0x18,0x04, 0x19,0x0E, 0x19,0x03, 0x1A,0x03, 0x16,0x03,0x16,0x04, 0x17,0x0E, 0x17,0x04, 0x18,0x17, 0x1A,0x04,0x1A,0x04, 0x1B,0x03, 0x1A,0x04, 0x1B,0x72, 0x17,0x04,0x1F,0x02, 0x1F,0x03, 0x1F,0x03, 0x1F,0x66, 0x20,0x03,0x1B,0x03, 0x1A,0x03, 0x19,0x03, 0x16,0x03, 0x16,0x03,0x17,0x04, 0x17,0x0E, 0x17,0x67, 0x18,0x03, 0x18,0x04,0x19,0x0E, 0x19,0x03, 0x1A,0x03, 0x1F,0x02, 0x1B,0x02,0x1A,0x14, 0x00,0x00 };unsigned char code Music_End[]={0x00,0x00,0x00,0x00};//***********************************************************************************void main(){P1=0x0f;InitialSound();EX0=1;IT0=1;LCD12864_Initialization();// 液晶初始化函数// 以下显示“环境工程学院张小波”Display_Word(V_page_Offset+4,H_Offset,Name_Of_Song+15*32);Display_Word(V_page_Offset+4,16+H_Offset,Name_Of_Song+16*32);Display_Word(V_page_Offset+4,32+H_Offset,Name_Of_Song+19*32);Display_Word(V_page_Offset+4,48+H_Offset,Name_Of_Song+20*32);Display_Word(V_page_Offset+4,80+H_Offset,Name_Of_Song+21*32);Display_Word(V_page_Offset+4,96+H_Offset,Name_Of_Song+22*32);Display_Word(V_page_Offset+4,112+H_Offset,Name_Of_Song+23*32);while(1){ key_process();}}/* ------- 延时子程序------ */void delay(uint K){uint i,j;for(i=K;i>0;i--) for(j=120;j>0;j--);}/* -------------- 按键处理子程序-------------- */void key_process(){EA=1;KeyScan(); switch(Key_Num){case 13: delay(200);if (Key_Num==13) {//以下显示歌曲名:挥着翅膀的女孩Display_Word(V_page_Offset+2,H_Offset,Name_Of_Song+0*32);Display_Word(V_page_Offset+2,16+H_Offset,Name_Of_Song+1*32);Display_Word(V_page_Offset+2,32+H_Offset,Name_Of_Song+2*32);Display_Word(V_page_Offset+2,48+H_Offset,Name_Of_Song+3*32);Display_Word(V_page_Offset+2,64+H_Offset,Name_Of_Song+4*32);Display_Word(V_page_Offset+2,80+H_Offset,Name_Of_Song+5*32);Display_Word(V_page_Offset+2,96+H_Offset,Name_Of_Song+6*32);Play(Music_Girl,0,2,360);}break;case 2: delay(200);if (Key_Num==2)//以下显示歌曲名:同一首歌Display_Word(V_page_Offset+2,H_Offset,Name_Of_Song+24*32);Display_Word(V_page_Offset+2,16+H_Offset,Name_Of_Song+7*32);Display_Word(V_page_Offset+2,32+H_Offset,Name_Of_Song+8*32);Display_Word(V_page_Offset+2,48+H_Offset,Name_Of_Song+9*32);Display_Word(V_page_Offset+2,64+H_Offset,Name_Of_Song+10*32);Display_Word(V_page_Offset+2,80+H_Offset,Name_Of_Song+24*32);Display_Word(V_page_Offset+2,96+H_Offset,Name_Of_Song+24*32);Play(Music_Same,2,2,500);}//break; case 1: delay(200);if (Key_Num==1) {//以下显示歌曲名:两只蝴蝶Display_Word(V_page_Offset+2,H_Offset,Name_Of_Song+24*32);Display_Word(V_page_Offset+2,16+H_Offset,Name_Of_Song+11*32);Display_Word(V_page_Offset+2,32+H_Offset,Name_Of_Song+12*32);Display_Word(V_page_Offset+2,48+H_Offset,Name_Of_Song+13*32);Display_Word(V_page_Offset+2,64+H_Offset,Name_Of_Song+14*32);Display_Word(V_page_Offset+2,80+H_Offset,Name_Of_Song+24*32);Display_Word(V_page_Offset+2,96+H_Offset,Name_Of_Song+24*32);Play(Music_Two,0,2,360);} //break; case 5: delay(200);if (Key_Num==5) {//以下显示歌曲名:死了都要爱Display_Word(V_page_Offset+2,H_Offset,Name_Of_Song+24*32);Display_Word(V_page_Offset+2,16+H_Offset,Name_Of_Song+25*32);Display_Word(V_page_Offset+2,32+H_Offset,Name_Of_Song+26*32);Display_Word(V_page_Offset+2,48+H_Offset,Name_Of_Song+27*32);Display_Word(V_page_Offset+2,64+H_Offset,Name_Of_Song+28*32);Display_Word(V_page_Offset+2,80+H_Offset,Name_Of_Song+29*32);Display_Word(V_page_Offset+2,96+H_Offset,Name_Of_Song+24*32);Play(Music_Three,10,1,300);}break;/* case 5: delay(200);if (Key_Num==5)Play(Music_Three,0,2,360);} break; */}}void waibuzhongduan_INT0()interrupt 0{uchar i;EA=0;for(i=0;i<8;i++){ Display_Word(V_page_Offset+2,i*16+H_Offset,Name_Of_Song+24*32);}}(2) Keypad.c#include <reg52.H>#define uchar unsigned char#define uint unsigned int//扫描键盘时发送到0-3 列上的扫描码uchar KeyboardScanCode[4]={0xef,0xdf,0xbf,0x7f};uchar Key_Num=16;//---------------------------------------------------//扫描键盘并返回按键在键盘上的位置系列号//------------------------------------------------uchar KeyScan(){uchar Row=0,Col=0,Temp;for(Col=0;Col<4;Col++){P1=KeyboardScanCode[Col];Temp=P1&0x0f;if(Temp!=0x0f){switch(Temp){case 0x0e: Row=0;break;case 0x0d:Row=1;break;case 0x0b:Row=2;break;case 0x07:Row=3;break;}break;}P1=0x0f;return Key_Num=Row*4+Col; // 返回按键位置序号0-15}(3) 12864 显示驱动程序.C//------------------------- LCD_12864.c ------------------------// 名称:12864LCD 显示驱动程序(不带字库)//----------------------------------------------------------------#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int#define LCD_DB_PORT P0 // 液晶数据线端口DB0-DB7#define LCD_START_ROW 0xc0 // 起始行命令#define LCD_PAGE 0xB8 // 页指令#define LCD_COL 0x40 // 列指令bit Reverse_Display=0;// 是否反相显示(白底黑字/黑底白字) //液晶引脚定义sbit DI=P2A0;sbit RW=P2A1;sbit E=P2A2;sbit CS1=P2A3;sbit CS2=P2A4;sbit RST=P2A5;//------------------------------------------------------------- // 检查LCD 是否忙//------------------------------------------------------------- bit LCD_IS_BUSY(){LCD_DB_PORT=0xFF;RW=1;_nop_();DI=0;E=1;_nop_();E=0;return (bit)(P0&0x80);}//------------------------------------------------------------- // 向LCD 写入一个字节(一般用于发送命令)//------------------------------------------------------------- void Write_Byte_To_LCD(uchar comand){while(LCD_IS_BUSY());LCD_DB_PORT=0xFF;RW=0;_nop_();DI=0;LCD_DB_PORT=comand;E=1;_nop_();E=0;}//-------------------------------------------------------------// 向LCD 写入数据//-------------------------------------------------------------void Write_Data_To_LCD(uchar dat){while(LCD_IS_BUSY());LCD_DB_PORT=0xFF;RW=0;_nop_();DI=1;if(!Reverse_Display) //根据Reverse_Display 决定是否反相显示LCD_DB_PORT=dat;elseLCD_DB_PORT=~dat;E=1;_nop_();E=0;}//-------------------------------------------------------------// 初始化LCD//-------------------------------------------------------------void LCD12864_Initialization(){CS1=1;CS2=1;Write_Byte_To_LCD(0x38);Write_Byte_To_LCD(0x3F);Write_Byte_To_LCD(0x01);Write_Byte_To_LCD(0x06); Write_Byte_To_LCD(LCD_START_ROW);}//-------------------------------------------------------------r 所指的数组中//通用显示函数从第P页第L列显示W个字节数据,具体显示的数据在//-------------------------------------------------------------void LCD_Show(uchar P,uchar L,uchar W,uchar *r) reentrant uchar i;if(L<64){CS1=1;CS2=0;Write_Byte_To_LCD(LCD_PAGE+P);Write_Byte_To_LCD(LCD_COL+L); if(L+W<64){for(i=0;i<W;i++)Write_Data_To_LCD(r[i]);}else{for(i=0;i<64-L;i++)Write_Data_To_LCD(r[i]);CS1=0;CS2=1;Write_Byte_To_LCD(LCD_PAGE+P);Write_Byte_To_LCD(LCD_COL); for(i=64-L;i<W;i++)Write_Data_To_LCD(r[i]);}}else{CS1=0;CS2=1;Write_Byte_To_LCD(LCD_PAGE+P);Write_Byte_To_LCD(LCD_COL+L-64); for(i=0;i<W;i++)Write_Data_To_LCD(r[i]);}}//-------------------------------------------------------------//显示一个8X 16点阵字符//-------------------------------------------------------------void Display_char(uchar P1,uchar L1,uchar *M) reentrant{LCD_Show(P1,L1,8,M);LCD_Show(P1+1,L1,8,M+8);}//-------------------------------------------------------------------//显示一个16 X 16点阵字符(汉字上半部分与下半部分分别处在相邻两页中) // --------------------------------------------------------------------void Display_Word(uchar P2,uchar L2,uchar *M) reentrant{LCD_Show(P2,L2,16,M);LCD_Show(P2+1,L2,16,M+16);}(4) DotMatrix.c// -----------------------------------------------// 与本程序有关的数字和汉字的点阵编码DotMatrix.c// ----------------------------------------------#include <reg51.h>#include <string.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned int//年、月、日、星期、时、分、秒等汉字点阵(16X16)uchar code Name_Of_Song[]={/*-- 文字0: 挥--*/0x08,0x08,0x08,0xFF,0x88,0x48,0x16,0xD2,0x3A,0x16,0xD2,0x12,0x12,0x16,0x02,0x00,0x02,0x42,0x81,0x7F,0x00,0x08,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x08,0x00, /*--文字1: 着--*/0x00,0x44,0x54,0x54,0x55,0x56,0xD4,0x7C,0x54,0x54,0x56,0x55,0x54,0x44,0x44,0x00,0x08,0x08,0x04,0x04,0x02,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0x00,0x00,0x00,/*-- 文字2: 翅--*/0x04,0xE4,0x24,0x3F,0x24,0xE4,0x0A,0x32,0x82,0xFE,0x08,0x32,0x82,0xFE,0x00,0x00,0x40,0x21,0x16,0x08,0x16,0x21,0x22,0x49,0x50,0x4F,0x42,0x49,0x50,0x4F,0x40,0x00, /*--文字3: 膀--*/0x00,0xFE,0x12,0x12,0xFE,0x00,0x64,0x24,0x2C,0x75,0xA6,0x34,0x2C,0x64,0x24,0x00,0xC0,0x3F,0x41,0x81,0x7F,0x00,0x81,0x61,0x1F,0x05,0x45,0x85,0x7D,0x01,0x00,0x00, /*--文字4: 的--*/0x00,0xF8,0x8C,0x8B,0x88,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x7F,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x03,0x26,0x40,0x20,0x1F,0x00,0x00, /*--文字5: 女--*/0x20,0x20,0x20,0x20,0xE0,0x38,0x27,0x20,0x20,0x20,0xE0,0x20,0x20,0x20,0x20,0x00,0x80,0x80,0x40,0x41,0x22,0x22,0x14,0x0C,0x0C,0x0B,0x10,0x30,0xE0,0x40,0x00,0x00, /*--文字6: 孩--*/0x02,0x02,0x02,0xF2,0x8A,0x06,0x44,0x64,0x54,0x4D,0x46,0xC4,0x64,0x04,0x04,0x00,0x01,0x23,0x41,0x3F,0x00,0x48,0x48,0x24,0x24,0x12,0x09,0x0C,0x12,0x61,0x00,0x00, /*--文字7: 同--*/0x00,0xFE,0x02,0x12,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0x12,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x08,0x1F,0x40,0x80,0x7F,0x00,0x00, /*--文字8: 一--*/0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字9: 首--*/0x04,0x04,0x04,0xE4,0x25,0x26,0x34,0x2C,0x24,0x24,0x26,0xE5,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x7F,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x7F,0x00,0x00,0x00,0x00,/*-- 文字10: 歌--*/ 0x80,0xBA,0xAA,0xAA,0xBA,0x82,0xFE,0xA2,0x90,0x0C,0xEB,0x08,0x28,0x18,0x08,0x00, 0x00,0x1E,0x12,0x12,0x5E,0x80,0x7F,0x40,0x20,0x18,0x07,0x08,0x30,0xE0,0x40,0x00,/*-- 文字11: 两--*/ 0x02,0xF2,0x12,0x12,0x12,0xFE,0x92,0x12,0x12,0xFE,0x12,0x12,0x12,0xFB,0x12,0x00,0x00,0x7F,0x08,0x04,0x03,0x00,0x10,0x09,0x06,0x01,0x01,0x26,0x40,0x3F,0x00,0x00,/*-- 文字12: 只--*/ 0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x40,0x20,0x31,0x18,0x0E,0x04,0x00,0x00,0x00,0x02,0x04,0x19,0x70,0x20,0x00,/*-- 文字13: 蝴--*/ 0xF0,0x10,0xFF,0x10,0xF0,0x08,0x88,0xFF,0x88,0x08,0x00,0xFE,0x12,0x12,0xFE,0x00,0x43,0x42,0x3F,0x2A,0x73,0x20,0x0F,0x88,0x4F,0x20,0x18,0x07,0x41,0x81,0x7F,0x00,/*-- 文字14: 蝶--*/ 0x00,0xF8,0x08,0xFF,0x08,0xF8,0x04,0xFE,0x84,0xBF,0xA4,0xA4,0xBF,0x84,0x04,0x00,0x10,0x11,0x11,0x0F,0x09,0x9D,0x4A,0x22,0x1A,0x06,0xFF,0x06,0x0A,0x72,0x22,0x00,/*-- 文字15: 环--*/ 0x00,0x22,0x22,0xFE,0x22,0x22,0x00,0x02,0xC2,0x32,0xFE,0x42,0x82,0x02,0x02,0x00,0x00,0x04,0x04,0x03,0x12,0x0A,0x04,0x03,0x00,0x00,0xFF,0x00,0x00,0x03,0x0E,0x00,/*-- 文字16: 境--*/ 0x20,0x20,0xFE,0x20,0x20,0x00,0x24,0xAC,0xB4,0xA5,0xA6,0xB4,0xAC,0x24,0x00,0x00,0x10,0x30,0x1F,0x08,0x08,0x00,0x80,0x4F,0x3A,0x0A,0x0A,0x7A,0x8F,0x80,0xE0,0x00,/*-- 文字17: 工--*/ 0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3F,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,/*-- 文字18: 程--*/0x10,0x12,0xD2,0xFE,0x91,0x11,0x80,0xBF,0xA1,0xA1,0xA1,0xA1,0xBF,0x80,0x00,0x00,0x04,0x03,0x00,0xFF,0x00,0x41,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x40,0x00,/*-- 文字19: 学--*/ 0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,/*-- 文字20: 院--*/ 0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00,0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00,/*-- 文字24: --*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*-- 文字25: 死--*/0x00,0x02,0xC2,0xB2,0x1E,0x12,0x92,0x72,0x02,0xFE,0x82,0x42,0x42,0x22,0x22,0x00,0x42,0x41,0x20,0x20,0x13,0x0C,0x03,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0x00,/*-- 文字26: 了--*/0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xF2,0x12,0x0A,0x0A,0x06,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /*-- 文字27: 都--*/0x20,0x24,0x24,0xA4,0x7F,0x24,0x34,0x28,0x24,0x00,0xFE,0x22,0x52,0x8A,0x06,0x00,0x04,0x02,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,0x00,0xFF,0x08,0x08,0x10,0x0F,0x00, /*-- 文字28: 要--*/0x02,0x02,0xFA,0x4A,0x4A,0xFE,0x4A,0x4A,0x4A,0x7E,0x4A,0x4A,0xFA,0x02,0x02,0x00,0x02,0x82,0x82,0x42,0x4E,0x2B,0x2A,0x12,0x12,0x12,0x2A,0x26,0xC2,0x42,0x02,0x00, /*-- 文字29: 爱--*/0x00,0x40,0xB2,0x96,0x9A,0x92,0xF6,0x9A,0x93,0x91,0x99,0x97,0x91,0x90,0x30,0x00,0x40,0x20,0xA0,0x90,0x4C,0x47,0x2A,0x2A,0x12,0x1A,0x26,0x22,0x40,0xC0,0x40,0x00,};〃0-9等数字点阵(8X 16)uchar code Digits[]={0x00,0x00,0xF0,0xF8,0x08,0x68,0xF8,0xF0,0x00,0x00,0x07,0x0F,0x0B,0x08,0x0F,0x07, //00x00,0x20,0x20,0x30,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00, //10x00,0x30,0x38,0x08,0x88,0xF8,0x70,0x00,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x08,0x00, // 2 0x00,0x30,0x38,0x88,0x88,0xF8,0x70,0x00,0x00,0x06,0x0E,0x08,0x08,0x0F,0x07,0x00, //30x00,0x00,0xF8,0xF8,0x00,0xE0,0xE0,0x00,0x00,0x03,0x03,0x02,0x02,0x0F,0x0F,0x02,//40x00,0xF8,0xF8,0x88,0x88,0x88,0x08,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00,//50x00,0xC0,0xE0,0x78,0x58,0xC8,0x80,0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,//60x00,0x08,0x08,0x88,0xE8,0x78,0x18,0x00,0x00,0x00,0x0E,0x0F,0x01,0x00,0x00,0x00,//70x00,0x70,0xF8,0xC8,0x88,0xF8,0x70,0x00,0x00,0x07,0x0F,0x08,0x09,0x0F,0x07,0x00,//80x00,0xF0,0xF8,0x08,0x08,0xF8,0xF0,0x00,0x00,0x00,0x09,0x0D,0x0F,0x03,0x01,0x00,//9};(5) SOUNDPLAY .H/说明**************************************************************************曲谱存贮格式unsigned char code MusicName{ 音高,音长,音高,音长..... , 0,0}; 末尾:0,0 表示结束(Important)音高由三位数字组成:个位是表示1~7 这七个音符十位是表示音符所在的音区:1-低音,2-中音,3-高音;百位表示这个音符是否要升半音: 0-不升, 1 -升半音。

音乐播放器毕业设计

音乐播放器毕业设计

摘要在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。

文章对目前使用较多的音乐播放器作出较详细的比较。

通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。

本文主要介绍了一个基于Java Applet来实现的音乐播放器的设计。

并对系统开发中涉与到的关键技术作了探讨,简要分析介绍了Java技术和 Applet的工作原理,最后说明系统需要实现的功能。

音乐是一种声音符号,表达人的思想感情。

是人们思想的载体之一。

音乐是有目的和内涵的,其中隐含了作者的生活体验,思想情怀。

一款好的pc音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。

本设计利用java语言和eclipse 编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图与主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。

该播放器支持MP3、WAV、MP3和AIFF等音频格式。

在开发的过程中采用瀑布模型。

第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。

关键词: JAVA;Eclipse;模块化; Applet;AbstractIn the information,the rapid development of technology today,the multimedia technology is becoming more and more attention.This paper makes comparison of the detail to the current use of more music player.By reading a plurality ofliterature,analysis of some function of music player and consider how to achieve the support more format music to meet the needs of users of the player.This paper mainly introduces the design of a Java based Applet to achieve music player.And the key technologies involved in the system development are discussed and analyzed brieflyintroduces the work principle of Java technology and Applet,finally indicated that the system needs to realize the function.The music is a sound symbolic expressing the mood and thinking. It is the carrier of people's thinking. Music is the purpose and content, which implied the au thor's life experiences and feelings. A good pc music player can not only provide g ood music playing effect, but also provide users with convenient operation.The player is using java language and eclipse editing tools. Giving a detailed s ystem design process, part of the interface map and run flow chart of the main fun ction, this article discussed in detail on problems and solution method in the devel opment process. The music player set to play, pause, stop, fast forward, rewind, a nd the next one, on a volume adjustment functions with one good performance. Th e player supports MP3, WAV, MP3, AIFF, etc. audio formats. The model in the dev elopment process is Waterfall model. The first phase is the project of comprehensi ve and careful needs analysis, accurately making the project schedule and clearin g each stage of the task. The second phase of the project is sub-module coding. T he third stage, the project testing and system integration testing.key words:JAVA ;Eclipse;Modularization; Applet;目录毕业论文(设计)诚信承诺书 ............................................................................ 错误!未定义书签。

音乐播放器课程设计

音乐播放器课程设计

音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本组成结构与功能;2. 学生掌握音乐播放器界面设计的基本原则;3. 学生了解音乐播放器中音乐格式及播放原理。

技能目标:1. 学生能够运用所学的界面设计原则,设计出美观、实用的音乐播放器界面;2. 学生能够利用相关软件或编程语言,实现音乐播放器的基本功能,如播放、暂停、切换歌曲等;3. 学生能够通过小组合作,共同完成音乐播放器的制作,提高团队协作能力。

情感态度价值观目标:1. 学生培养对音乐艺术的热爱和欣赏能力;2. 学生养成积极探索、勇于创新的学习态度,增强解决问题的信心;3. 学生通过课程学习,认识到科技与艺术的结合,提高审美观念和人文素养。

课程性质:本课程以实践操作为主,结合理论讲解,培养学生的动手能力和创新思维。

学生特点:六年级学生对音乐有一定的兴趣和认知,具备一定的计算机操作能力,喜欢探索新事物。

教学要求:教师需关注学生的个体差异,提供个性化的指导,鼓励学生积极参与课堂讨论和实践活动,以达到课程目标。

在教学过程中,注重将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 音乐播放器的基本原理- 介绍音乐播放器的发展历程;- 讲解音乐播放器的硬件与软件组成;- 分析音乐播放器的工作原理。

2. 音乐播放器界面设计原则- 探讨界面设计的基本原则,如简洁、易用、美观等;- 分析优秀音乐播放器界面的设计特点;- 学习界面设计的基本工具和方法。

3. 音乐格式及播放器功能实现- 介绍常见的音乐格式,如mp3、wav等;- 讲解音乐播放器中解码、播放、音效处理等功能的实现方法;- 学习使用编程语言或软件实现音乐播放器的功能。

4. 实践操作:音乐播放器制作- 分组讨论,确定音乐播放器的主题和功能;- 设计并制作音乐播放器界面;- 编程实现音乐播放器的基本功能;- 测试、优化音乐播放器。

教学内容依据课程目标,结合教材,确保科学性和系统性。

单片机课程设计之音乐播放器

单片机课程设计之音乐播放器

单片机课程设计之音乐播放器学生姓名学号所在学院专业名称班级指导教师成绩目录一、设计功能 ................................................................................................................. 错误!未定义书签。

(一)大体功能 ..................................................................................................... 错误!未定义书签。

(二)扩展功能 ..................................................................................................... 错误!未定义书签。

二、设计原理 ................................................................................................................. 错误!未定义书签。

(一)单片机产生不同频率脉冲信号的原理:...................................................... 错误!未定义书签。

三、方案与论证 ............................................................................................................. 错误!未定义书签。

四、设计内容 ................................................................................................................. 错误!未定义书签。

音乐播放器课程设计

音乐播放器课程设计

目录一、设计要求 (1)二、设计目的 (1)三、设计的具体实现 (1)3.1 系统概述 (1)3.2单元电路设计 (1)3.2.1 8086中央处理器 (1)3.2.2 74LS373地址锁存电路 (5)3.2.3 74LS138 译码电路 (6)3.2.4 定时/计数器8253A (7)3.3 软件程序设计和调试 (13)四、结论与展望 (17)五、心得体会及建议 (17)六、附录 (18)七、参考文献 (19)电子音乐播放器设计报告一、设计要求利用8253作为音频频率发生器,应先对一段音乐进行编码后存入音符表,并建立好音阶表(只建立一个8度即可,音阶表见附录),音符长度不能少于60个,连续播放3遍后停止。

具体要求如下:1、系统硬件电路设计:根据所选题目和所用的接口电路芯片设计出完整的系统硬件电路,并进行电路连接和调试。

2、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。

二、设计目的本课程设计培养学生运用该课程的理论知识和技术知识解决工程实际问题的能力,学习微机系统设计的方法;学生通过对实验室系统的实际调试,进一步培养并提高了科学实验的能力。

因此,本课程设计为学生提供一个良好的理论联系实际的机会和场所,有利于为学生树立微机整体的概念,同时加强了学生编制和调试程序的能力,进一步培养学生的独立工作能力。

因此,课程设计是教学计划中必不可少的重要一环。

三、设计的具体实现1.系统概述该音乐播放器通过用8086中央处理器、74LS373地址锁存电路、74LS138译码电路、定时/计数器8253A来实现功能。

8086中央处理器输出地址码A16-A19和数据AD0-AD15,将AD0-AD7输入地址锁存器输出A0-A7,再将A0-A7通过译码器进行译码输出作为8253的片选信号,8253产生不同频率的脉冲来模拟音符,通过时间的长短来模拟音长,从而设计出一个功能完整的音乐播放器。

2.单元电路设计2.1 8086中央处理器8086中央处理器是Intel系列的16位微处理器,有16根数据线和20跟地址线。

音乐播放器课程设计报告

音乐播放器课程设计报告

目录一、设计任务要求 ................................................................................................ - 2 -1、课程设计题目 ............................................................................................. - 2 -2、工程设计总述 ............................................................................................. - 4 -二、选择器件 .......................................................................................................... - 4 -三、功能模块 .......................................................................................................... - 4 -1.分频器(div) ............................................................................................... - 4 -2、计数器(notetabs)................................................................................... - 6 -3、选择模块(choice)................................................................................... - 7 -4、数据翻译模块(tontaba): ...................................................................... - 9 -5、译码器模块(deled) .............................................................................. - 10 -6、数控分频器模块(speakera)................................................................ - 14 -7、乐谱数据ROM(四个模块)................................................................. - 15 -四、总体设计电路图 ............................................................................................ - 21 -1、顶层设计的电路原理图 ........................................................................... - 21 -2、顶层设计的仿真结果: ........................................................................... - 22 -3、电路的顶层文件管脚分配图 ................................................................... - 22 -五、心得体会 ........................................................................................................ - 22 -音乐播放器课程设计一、设计任务要求1、课程设计题目设计一个乐曲演奏电路,能够自动播放2首音乐。

基于Android音乐播放器详细设计

基于Android音乐播放器详细设计

项目详细设计3组:梁锦21209010417 王燕21209010414 李雪飞21209010415 卫妙珠21209010419 雷宁21209010418 曹项飞21209010416目录1音乐播放器设计............................................................................................. 错误!未定义书签。

1.1项目介绍 (1)1.1.1播放器的基本控制需求 (1)1.1.2项目流程 (2)1.1.3UI界面设计 (3)1.1.4项目程序结构 (4)1.1.5项目Manifest.xml文件 (5)1.2创建项目及具体结构分析 (8)1.2.1项目的创建 (8)1.2.2界面设置 (8)1.2.3结构分析 (9)1.3 设计成果及分析 (9)1.3.1 设计成果 (10)1.3.2问题及分析 (12)1.1项目介绍本论文的音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对设计过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、等功能于一体,性能良好,在Android系统中能独立运行。

本设计简单实用,没有过于花哨的功能与界面,简单的功能不仅仅操作方便,还为系统资源节省空间。

在Android系统下开发一款多媒体播放器,并学习多媒体技术,熟悉软件开发流程。

Android多媒体框架播放机制,包括:Open Core,Packet Video(PV)。

UI设计与制作,包括动态界面布局,浮动控制栏,自定义对话框等。

媒体文件播放与控制,包括音视频文件的播放,后台播放媒体文件等。

媒体文件的信息管理,包括媒体文件信息的扫描,存取与获取,数据库操作等。

音乐播放器毕业设计

音乐播放器毕业设计

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.摘要在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。

文章对目前使用较多的音乐播放器作出较详细的比较。

通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。

本文主要介绍了一个基于Java Applet 来实现的音乐播放器的设计。

并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java 技术和Applet 的工作原理,最后说明系统需要实现的功能。

音乐是一种声音符号,表达人的思想感情。

是人们思想的载体之一。

音乐是有目号,的和内涵的,其中隐含了作者的生活体验,思想情怀。

一款好的pc 音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。

本设计利用java 语言和eclipse 编辑工具对播放器进行编写。

同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。

该播放器支持MP3、WAV、MP3和AIFF 等音频格式。

在开发的过程中采用瀑布模型。

第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。

关键词: JAVA;Eclipse ;模块化;Applet ;In multimedia comp aris onAbstractthe in formati on, the rapid devel opment of tech no logy today,the tech no logy is beco ming more and more atte nti on. This paper makesof the detail to the current use of more music player. By reading aplurality ofliterature, analysis of some function of music player and consider how toachieve the support more format music files,how to meet the needs of users ofthe player. This paper mainly introduces the design of a Java based Applet toachieve music p layer. And the key tech no logies invo Ived in the system devel opment are discussed and an alyzed briefly in troduces the work principle ofJava tech no logy and App let,fi nally in dicated that the system n eeds to realize thefun ctio n.The music is a sound symbolic exp ress ing the mood and thinkin g. It is thecarrier of peop le's thinking. Music is the purp ose and content, which imp lied the author's life exp erie nces and feeli ngs. A good pc music p layer can not on ly p rovide good music playing effect, but also pro vide users with convenient op erati on.The pl ayer is using java Ian guage and ecli pse edit ing tools. Giving a detailed system desig n p rocess, part of the in terface map and run flow chart of the main function, this article discussed in detail on p roblems and soluti on method in the development p rocess. The music p layer set to p lay, p ause, stop, fast forward, rew ind, and the n ext one, on a volume adjustme nt fun cti ons with one good p erforma nee. The player supp orts MP3, WAV, MP3, AIFF, etc. audio formats. The model in the development p rocess is Waterfall model. The first p hase is the p roject of comp rehe nsive and careful n eeds an alysis, accurately mak ing the p roject schedule and cleari ng each stage of the task. The sec ond p hase of the p roject is sub-module cod ing. The third stage, the p roject testi ng and system in tegrati on test ing.key words:JAVA ;Eclipse ;Modularization ;Applet ;毕业论文(设计)诚信承诺书..... 四川科技职业学院毕业论文评审表错误!未定义书签。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

音乐播放器详细设计
1.引言
随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。

而3G时代的到来,手机移动应用越来越普遍。

此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。

1.1 编写目的
为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。

本文档供项目组成员,软件开发人员参考。

1.2项目背景
本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。

该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。

1.3 参考资料
[1] 彭重庆大学出版社《软件工程》“软件计划与可行性分析”
[2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》
[3] 可行性分析
[4] 《音乐播放器需求分析书》
[5] 《音乐播放器总体设计说明书》
1.4项目开发计划
实施计划:
在技术方面,编程知识比较缺乏,对有些与项目相关的软件
不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。

2. 总体设计
2.1 项目目的
本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。

设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取
存储卡播放等多种播放控制,界面简明,操作简单。

软件系统检测到错误行为时,报告错误,并提示处理操作。

2.2 软件运行环境
硬件:Android操作系统手机
系统软件:Android 2.2 -- 4.0版本
支撑软件:Eclipse 7.5 、ADT 1.5
2.3 需求概述
根据项目,我们可以获得项目系统的基本需求,从功能需求、界面需求、性能需求、可靠性要求四个方面来描述系统的需求,再分别对各个需求进行分析。

2.4 条件与限制
开发人员开发经验严重不足;
编程人员对开发工具不熟悉,编程经验非常有限;
具备运行环境。

2.5 软件结构
3.程序描述
3.1 歌曲界面控制
歌曲界面控制可分为:播放/暂停/停止模块、上一曲/下一曲
模块、音量模块。

3.1.1 播放/暂停/停止模块
流程图:
程序逻辑:
当用户点击播放\暂停\停止按钮时,播放器就对当前播放事件监听从而控制当前音乐的播放\暂停\停止,部分关键代码如下:
//播放按钮
playPauseBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int cmd = 0;
Intent i = new Intent(MusicService.MUSIC_CONTROL);
//判断当前的状态值是什么状态如果是播放状态if (status == MusicService.STATUS_PLAYING) {
cmd = MusicService.CMD_PAUSE; //发送暂停的命令} else if (status == MusicService.STATUS_STOPPED) { cmd = MusicService.CMD_START; //发送播放的命令
} else {
cmd = MusicService.CMD_RESUME; //继续播放的命令}
i.putExtra("cmd", cmd); //将命令广播出去
sendBroadcast(i); //发送广播
} });
3.1.2 上一曲\下一曲模块
流程图:
程序逻辑:
当用户点击上一曲\下一曲按钮时,播放器就对当前播放事
件监听,从音乐列表中转换音乐,从而控制当前音乐的上一曲\ 下一曲,关键代码如下:
//上一曲键事件监听器
previousBtn.setOnClickListener (new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MusicService.MUSIC_CONTROL);
int cmd = MusicService.CMD_PREV;//发送前一首的命令
i.putExtra("cmd", cmd); sendBroadcast(i);
}
});
// 下一曲键事件监听器
nextBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MusicService.MUSIC_CONTROL);
int cmd = MusicService.CMD_NEXT;
i.putExtra("cmd", cmd);
sendBroadcast(i);
}
});
//设置SeekBar的监听事件
sb.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { //当停止拖动时调用的方法
public void onStopTrackingTouch(SeekBar seekBar) { }
public void onStartTrackingTouch(SeekBar seekBar) { }
//当SeekBar拖动时会执行此方法
public void onProgressChanged(SeekBar seekBar, int prog, boolean fromUser) {
//fromUser参数意思是判断拖动是否是用户用手拖动的
if (fromUser == true && Math.abs(prog - progress) >= 5) { progress = prog;
Intent i = new Intent(MusicService.MUSIC_CONTROL);
int cmd = MusicService.CMD_SEEK;//发送拖动的命令
i.putExtra("cmd", cmd);
i.putExtra("progress", progress);//讲拖动的进度传进Service
sendBroadcast(i);
sb.setProgress(progress);
}
}
});
}
3.1.3 音量模块
流程图:
程序逻辑:
声音有两个按钮控制,一个增加声音和一个减少声音。

通过这两个按钮用户可以调节播放音乐的声音大小,用AudioManager 组件对声音的大小进行增减,最大为7,最小为0。

当用户点击声音按钮时,若是增按钮,对声音进行增加,若是减按钮对声音进行减小。

部分代码如下:
//获取点击事件
voiceUp = (ImageButton)findViewById(R.id.music_voic_up);
// 音量增加
voiceDown (ImageButton)findViewById(R.id.music_voic_down); //音量增减小执行事件
audiomanage=(AudioManager)getSystemService(
Context.AUDIO_SERVICE);
voiceDown.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
audiomanage.adjustV olume(
AudioManager.ADJUST_LOWER,0);
V olume=audiomanage.getStreamV olume(
AudioManager.STREAM_RING);
if(volume>0){
volume--;
audiomanage.setRingerMode(volume);
}
}
});
// 声音控制按钮声音增加
voiceUp.setOnClickListener(new OnClickListener() {
.................
public void onClick(View v) {
audiomanage.adjustV olume(AudioManager.ADJUST_RAISE, 0);
volume=audiomanage.getStreamV olume(
AudioManager.STREAM_RING);
if(volume<7){
volume++;
audiomanage.setRingerMode(volume);
}
}
});
4.软件测试
根据制定的软件实施计划,对软件进行测试,主要目的为了找出软件中存在的各种错误和缺陷,设计出更高效的软件测试方案。

本项目的该音乐软件采用动态执行测试,对软件的功能,结构进行测试,通过运行该软件来检验程序的各个功能是否能够正确运行,各个模块之间能否进行无差错的转换,能否实现对歌曲的无差错播放,控制。

zzzzzzzzzzzzzzzzzzzzzzz。

相关文档
最新文档