音乐播放器的设计与实现教学文案
- 格式:doc
- 大小:1.54 MB
- 文档页数:16
课程设计报告之水城攒孽创作课程设计名称:音乐播放器院系:信息工程学院学生姓名:班级:学号:成绩:指导教师:开课时间:2016-2017学年 2 学期音乐播放器一、实践的内容和要求学习WAV格式音频播放原理、数字音频接口及的相关知识。
了解模拟音频信号和数字音频信号的概念。
掌握编写音频播主要内容放器的方法。
实现音频播放,小键盘输入操纵。
本系统要做一个音乐播放器,使用通用定时器定时,用比较输出功能,输出乐谱频率的方波发生声音,对 3 首歌曲编码,其支持 WAV 格式音频播放(上键:暂停;左键:上一首;右键:下一首)。
利用硬件ARM 嵌入式开发平台、用于ARM7TDMI 的 JTAG 仿真器、PC 机 Pentium100开发实现实现音频播放。
主要实现:上一首按键:当点击上一首按键时,当前播放歌曲的上一首歌首被播放。
下一首按键:当点击下一首按键时,当前播放歌曲的下一首歌曲即被播放。
当点击停止键时,当前歌曲即会被停止。
播放界面设计:在歌曲进行播放时,界面应包含所有的按键,而且要歌曲的曲目单。
二、实践原理WAV播放器系统要求能够对mp3、wav格式的音频文件进行解码,处理起来速度是有要求的,尤其是对320Kbps的MP3格式数据流的处理,必须非常快,才干实现MP3的流畅播放,可供选择的八位机有AVR、PIC,可供选择的32位处理器有SAMSUNG、STM32、ATMEL等。
选择MCU优先考虑于拥有丰富的RAM,八位机RAM主要靠扩展,内部RAM一般在4Kbyte以内,32位机里面,SAMSUNG一般不内带RAM,也要外扩。
本实验使用了ARM7处理器,MP3解码可以有两种方法,一是通过ARM处理器软解码,通过对MP3数据格式的解析实现MP3播放,二是通过外部解码芯片直接解码。
第一种方法在解码高码率的MP3时,ARM7处理能力吃紧,而且STM32还需要外部DAC来做音频输出,所以采取第二种方法进行解码。
MP3罕见的解码芯片有VS100X系列和STA01系列,STA01需要外接DAC做音频输出,而VS1003自带DAC,且解码的文件格式包含mp3和wav,另外它还可以实现录音功能,方便以后进行功能的拓展应用。
课程设计汇报课程设计题目: java音乐播放器学生姓名:专业: XXXXXXXXXXXXX班级:指导老师:20XX年X月X日一、课程设计目标1.编程设计音乐播放软件, 使之实现音乐播放功效。
2.培养学生用程序处理实际问题能力和爱好。
3.加深java中对多媒体编程应用。
二、课程设计要求利用学到编程知识和编程技巧, 要求学生:1.系统设计要能完成题目所要求功效, 设计软件能够进行简单播放及其它基础功效。
2、编程简练, 可用, 尽可能使系统功效愈加完善和全方面3.说明书、步骤图要清楚。
三、课程设计内容1.课程设计题目及介绍音乐播放软件要求:有图形界面, 能播放MP3歌曲, 有播放列表, 前一首、后一首等常见播放软件功效。
2.设计说明关键利用多媒体编程、图形界面、数组及循环进行设计, 从而实现简单音乐播放。
public MyMusicPlayer(): 实现窗口组员方法publi c void run(): 实现改变歌曲播放状态组员方法public AudioClip loadSound(String filename): 实现对声音加载public void mouseClicked(MouseEvent e): 实现对按钮监听public void itemStateChanged(ItemEvent arg0): 返回一个AudioClip对象3.程序步骤图4.程序清单import java.awt.*;import javax.swing.*; import java.applet.*; import java.awt.event.*; import .*;public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体JLabel songname=new JLabel(); //用标签显示状态JButton last=new JButton();JButton play=new JButton();JButton next=new JButton();JButton loop=new JButton(); //定义上一曲,播放,下一曲,循环四个按钮JLabel list=new JLabel("播放列表");List songlist=new List(); //显示歌曲列表AudioClip[] song=new AudioClip[10]; //将音频文件放在数组中AudioClip playsong; //目前选定播放音频文件String[] name={"黄小琥 - 顺其自然.wav","陈奕迅-张氏情歌.wav","黄小琥 _没那么简单.wav","戚薇-假如爱忘了.wav","郭采洁 - 狠狠哭.wav","test.wav"};//将全部文件名存放在字符串数组name中String playname; //目前选定播放音频名int j=0; //统计目前选定播放是哪首歌曲, 默认为第一首boolean playbutton=true; //统计播放状态, 默认为暂停播放boolean loopbutton=false; //统计循环状态, 默认为没有循环Thread thread=new Thread("pl");static MyMusicPlayer Yu;public MyMusicPlayer(){MainFrame.setLayout(null);MainFrame.setBounds(300,50,310,500);MainFrame.setVisible(true);MainFrame.setDefaultCloseOperation(3);MainFrame.add(songname);Font sname=new Font("斜体",Font.ITALIC,18);songname.setFont(sname); //设置显示状态字体为斜体songname.setText("我音乐播放器");songname.setBounds(10,10,300,40);last.setBounds(10,70,50,40);play.setBounds(70,70,50,40); //设置四个功效键位置和大小next.setBounds(130,70,50,40);loop.setBounds(190,70,50,40);last.setIcon(new ImageIcon("1.png"));play.setIcon(new ImageIcon("2.png"));next.setIcon(new ImageIcon("3.png"));loop.setIcon(new ImageIcon("4.png")); //设置四个功效键图片last.addMouseListener(this);play.addMouseListener(this);next.addMouseListener(this);loop.addMouseListener(this); //添加按键鼠标监听器MainFrame.add(last);MainFrame.add(play);MainFrame.add(next);MainFrame.add(loop);list.setBounds(10,120,100,30);Font lis=new Font("宋",Font.BOLD,15);list.setFont(lis); //显示“播放列表”MainFrame.add(list);songlist.setBounds(10,150,250,300);songlist.setBackground(Color.GREEN); //设置播放列表背景色为绿色songlist.setVisible(true);songlist.addItemListener((ItemListener) this); //添加列表监听器MainFrame.add(songlist);for(int i=0;i<name.length;i++){song[i]=loadSound(name[i]); //逐一获取音频文件songlist.add(name[i]); //将歌曲名添加到播放列表}playsong=song[0];}public static void main(String[] args){Yu=new MyMusicPlayer();Yu.start();}public void mouseClicked(MouseEvent e) {JButton btn=(JButton)e.getSource();playsong.stop();if(btn==play){ if(playbutton==false)playbutton=true;elseplaybutton=false; //当按下play后改变播放状态}elseif(btn==last){ j-=1; //当按下last 后将上一曲选定if(j<0)j=name.length-1; //若之前选定为第一首, 则跳到最终一首playbutton=true;loopbutton=false;}elseif(btn==next){ j+=1; //当按下next后将下一曲选定if(j>=name.length)j=0; //若之前选定为最终一首, 则跳到第一首playbutton=true;loopbutton=false;}elseif(btn==loop){ if(loopbutton==false){loopbutton=true;playbutton=true;}else{ //按下loop 后, 改变循环状态和播放状态loopbutton=false;playbutton=false;}}if(playbutton==true)Yu.run();else{songname.setText("暂停播放: "+playname); //暂停播放歌曲play.setIcon(new ImageIcon("2.png"));}}public void mouseEntered(MouseEvent arg0) {// TODO Auto-generated method stub}public void mouseExited(MouseEvent arg0) {// TODO Auto-generated method stub}public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub}public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub}public void itemStateChanged(ItemEvent arg0) { String str=songlist.getSelectedItem();playsong.stop();for(int i=0;i<name.length;i++)if(str==name[i]){j=i;break;}Yu.run();}public void run(){playsong=song[j]; //播放状态为播放时playsong.play(); //播放选定歌曲playname=name[j];if(loopbutton==true){playsong.loop(); //循环播放选定歌曲songname.setText("循环播放: "+playname);}elsesongname.setText("正在播放: "+playname);songlist.select(j); //播放列表中选定播放歌曲项目play.setIcon(new ImageIcon("5.png"));}public AudioClip loadSound(String filename){ //返回一个AudioClip对象URL url=null;try{url=new URL("file:"+filename);}catch(MalformedURLException e){ }return Applet.newAudioClip(url);}}5.程序运行结果四、课程设计总结经过这几天Java课程设计, 让我知道了做课程设计通常方法, 经过多种努力最终完成了设计要求.这次课程设计基础上含盖了大学十二个月学习到Java语言知识点, 课设题目要求不仅要求对书本知识有较深刻了解, 同时要求程序设计者有较强思维和动手能力。
c 音乐播放器课程设计一、课程目标知识目标:1. 学生理解音乐播放器的基本原理,掌握与其相关的电子元件功能;2. 学生掌握音乐播放器编程的基础知识,能够运用所学编程语言实现音乐播放功能;3. 学生了解音乐播放器在生活中的应用,认识不同类型的音乐播放器。
技能目标:1. 学生能够运用所学知识,设计并制作一个简易的音乐播放器;2. 学生能够通过编程解决音乐播放过程中遇到的问题,如播放、暂停、切换歌曲等;3. 学生能够进行团队协作,共同完成音乐播放器的设计与制作。
情感态度价值观目标:1. 学生培养对音乐的热爱,提高音乐审美能力;2. 学生通过实践操作,培养动手能力、创新意识和解决问题的能力;3. 学生在团队协作中,学会相互尊重、沟通与协作,培养集体荣誉感。
课程性质:本课程为实践性课程,结合课本知识,以学生动手操作为主,培养学生实际操作能力和创新能力。
学生特点:本年级学生具备一定的电子元件知识和编程基础,对新鲜事物充满好奇心,喜欢动手实践。
教学要求:教师应注重引导学生运用所学知识解决实际问题,关注学生的个体差异,鼓励学生创新思维,培养学生团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 音乐播放器原理:介绍音乐播放器的基本工作原理,包括音频信号处理、放大电路、扬声器等组成部分。
相关教材章节:第三章“音频信号处理”及第四章“放大电路与扬声器”2. 编程知识:运用课本所学编程语言,如C语言,实现音乐播放器的控制程序。
相关教材章节:第五章“C语言基础”及第七章“C语言编程实例”3. 音乐播放器设计制作:结合电子元件知识与编程技能,设计并制作一个简易的音乐播放器。
相关教材章节:第八章“电子制作实践”及第十章“综合项目设计与制作”4. 实践操作:分组进行音乐播放器的设计与制作,包括硬件连接、编程调试等环节。
相关教材章节:第十一章“实践操作与团队协作”教学内容安排与进度:第一课时:回顾音频信号处理、放大电路及扬声器等基础知识,明确音乐播放器工作原理。
幼儿园音乐播放器制作教案
一、主题
幼儿园音乐播放器制作教案
二、教学目标:
1. 能够知道音乐播放器的基本结构和构成;
2. 能够学会用简单的材料制作出一个音乐播放器;
3. 培养幼儿的动手能力和想象力。
三、教学准备:
1. 音乐播放器制作所需的材料:空纸盒子、剪刀、胶水、挂钩、塑料袋、胶纸、色纸、铅笔、尺子、直尺等;
2. 电视、音响、手机等设备,播放儿歌和童谣的音频文件。
四、教学过程:
1. 通过介绍音乐播放器的基本概念和功能,让幼儿了解这个制作的过程的目的和意义;
2. 为了使幼儿更好的理解音乐播放器的构成结构和制作方法,老师可以提前准备好各种材料,并和幼儿一起分析和讨论使用不同材料的优缺点;
3. 老师带领幼儿现场制作自己的音乐播放器。
首先,将一个空纸盒子
底部剪去三面的侧边,形成一个“大口袋”。
然后,把底部上方的硬纸板穿过挂钩,使其像门一样悬挂起来。
在悬挂的硬纸板上,用透明胶带或胶纸固定一块塑料袋。
接着,让幼儿自由设计并贴上漂亮的色纸,点缀各种图案;
4. 教师将已经准备好的音乐文件放到设备中,随着音乐播放,幼儿可以将自己的音乐播放器挂在房间任意一个地方,享受到由自己亲手制作的音乐播放器带来的美妙音乐。
五、教学总结:
通过本次课堂的活动,幼儿们了解了音乐播放器的用处和构成结构,学习了通过简单的材料和技巧制作一台小型音乐播放器的方法,培养了他们的动手能力和想象力,丰富了幼儿们的生活经验。
同时,也重新加强了幼儿对音乐的热爱和兴趣。
音乐播放器课程设计一、课程目标知识目标: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)前言关于这次设计的用于多人竞赛抢答的器件,在现实生活中很常见,尤其是在随着各种智益电视节目的不断发展,越来越多的竞赛抢答器被用在了其中,这种抢答器的好处是不仅能够锻炼参赛选手的反应能力,而且能增加节目现场的紧张、活跃气氛,让观众看得更有情趣。
音乐播放器课程设计java一、课程目标知识目标:1. 理解Java语言中面向对象编程的基本概念,包括类、对象、继承、封装等;2. 掌握Java中事件处理机制,了解图形用户界面(GUI)设计的基本方法;3. 学会使用Java内置的音频播放库,实现对音乐文件的播放、暂停、停止等基本控制。
技能目标:4. 能够运用所学知识设计并实现一个音乐播放器界面,包括播放、暂停按钮和音乐列表;5. 能够编写相应的Java代码,实现音乐播放器的功能,如音乐文件的加载、播放、暂停和停止;6. 培养学生解决问题的能力,学会调试和修复程序中出现的错误。
情感态度价值观目标:7. 培养学生对编程的兴趣和热情,增强其对学习Java语言的自信心;8. 培养学生团队协作精神,学会与他人分享和交流编程经验;9. 培养学生创新意识,激发学生主动探索新知识、新技术的热情。
本课程针对高年级学生,结合学科特点和教学要求,以实用性为导向,旨在让学生掌握Java编程的基本技能,培养其解决实际问题的能力。
通过本课程的学习,学生将能够独立设计并实现一个音乐播放器,提高其编程实践能力。
同时,注重培养学生的情感态度价值观,使其在掌握知识的同时,形成良好的学习习惯和团队协作精神。
二、教学内容1. 面向对象编程基础:- 类的定义与使用- 对象的创建与操作- 继承与多态- 封装与接口2. Java GUI设计:- Swing图形用户界面概述- 常用Swing组件的使用方法- 事件处理机制- 布局管理器3. 音乐播放器功能实现:- 音频播放库简介- 音乐文件的加载与播放- 播放控制功能实现(播放、暂停、停止)- 音乐列表展示4. 教学案例与实战:- 设计音乐播放器界面- 编写音乐播放器功能代码- 调试与优化音乐播放器程序- 项目展示与评价本章节教学内容按照课程目标进行选择和组织,注重科学性和系统性。
教学内容分为四个部分,分别对应Java面向对象编程基础、GUI设计、音乐播放器功能实现和教学案例实战。
dsp课程设计音乐播放器一、课程目标知识目标:1. 学生能够理解数字信号处理(DSP)的基本概念,掌握音乐播放器中DSP 技术的应用原理。
2. 学生能够掌握音乐播放器中音频信号的采样、量化、编码等基本知识。
3. 学生能够了解不同音频格式对音乐播放效果的影响,并学会选择合适的音频格式。
技能目标:1. 学生能够运用所学知识,设计并实现一个简单的音乐播放器。
2. 学生能够熟练使用相关软件工具进行音频信号的处理和分析。
3. 学生能够通过编程实现音乐播放器的功能,如播放、暂停、停止等。
情感态度价值观目标:1. 培养学生对数字信号处理技术的兴趣,激发他们探索科学技术的热情。
2. 培养学生的团队协作意识和创新精神,使他们能够在项目实践中相互学习、共同进步。
3. 培养学生关注音乐播放器在实际生活中的应用,提高他们将所学知识应用于解决实际问题的能力。
课程性质:本课程为实践性较强的学科,以项目为导向,注重培养学生的动手能力和创新能力。
学生特点:学生具备一定的编程基础,对音乐播放器有一定的了解,但对DSP技术及其在音乐播放器中的应用尚不熟悉。
教学要求:教师应结合学生特点,采用理论教学与实践操作相结合的方式,引导学生主动探索、积极实践,确保课程目标的达成。
同时,注重分解课程目标为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. 数字信号处理基础理论:- 介绍数字信号处理的基本概念,如采样、量化、编码等。
- 分析音乐播放器中音频信号的处理流程。
2. 音乐播放器原理与设计:- 讲解音乐播放器的基本工作原理,如播放、暂停、停止等功能实现。
- 引导学生了解不同音频格式及其特点,选择合适的音频格式。
3. 音频信号处理技术:- 介绍音频信号处理的相关算法,如数字滤波器、音量调节等。
- 指导学生运用相关软件工具进行音频信号的处理和分析。
4. 编程实践:- 制定详细的编程实践计划,分解音乐播放器的设计任务。
- 引导学生使用编程语言,如C/C++、Python等,实现音乐播放器的功能。
基于java的音乐播放器课程设计报告第一篇:基于java的音乐播放器课程设计报告Java课程设计报告题目:java音乐播放器姓名学号院系班级专业任课教师1.设计内容及要求能够实现简单的音乐播放器功能,如:打开本地文件,播放,暂停,停止,背景播放,单曲循环等等,界面充实,交互友好,可以添加多首歌曲目录一个简单的基于java语言的音乐播放器,菜单栏:文件,播放控制和播放列表,文件菜单包含打开、循环和退出三个菜单项;播放控制菜单包含播放、暂停和停止三个菜单项,播放列表菜单则是当向里面添加歌曲之后才能够查看到里面所包含的歌曲目录。
当播放歌曲时,可以调节音量大小或者设置是否静音;可以查看当前播放音乐的相关属性,如:歌曲名,歌手,发布时间,所属专辑等等。
2.需求分析1、时间跟踪条:根据歌曲播放的进度,控制条自动进行追踪,用户可以随时了解歌曲的播放进度2、音量控制键:可以点击该控键进行音量大小的调节以及是否静音的设置3、属性查询键:通过该控键,用户可以查看当前播放音乐的相属性,获取关于该歌曲的用户所需的相关信息。
4、菜单栏:①文件:打开:用户通过该菜单项打开本地音乐文件,听任何用户想听的歌曲循环:通过循环设置,用户可以重复的播放一首喜欢的歌曲退出:退出音乐播放器,及退出该程序②播放控制:播放:选择歌曲之后,通过点击播放菜单项启动播放器播放音乐暂停:暂停当前正在播放的音乐停止:停止当前正在播放的音乐③播放列表:当用户通过文件打开本地音乐文件后,及相当于在播放列表里面添加了歌曲,及形成相应的歌曲播放目录3.总体设计结合需求分析来看,整个设计包含了简单的菜单栏,根据用户需求设置了三个简单的实现基本操作的菜单,分别是:文件,播放控制,播放列表;根据具体的操作每个菜单还包含了相应的菜单项,文件:打开,循环,退出;播放控制:播放,暂停,停止;播放列表则没有菜单项,该菜单就是用来显示或者查看相应的歌曲目录的。
该音乐播放器设置了两个窗口,运行程序时打开的初始化欢迎界面,用户可以根据自己的需求进行菜单栏里面的基本操作和相应的设置,当用户添加或者打开音乐播放文件的时候,程序将会显示出第二个音乐文件播放窗口,与此同时,第一个初始化窗口将会自动隐藏,在音乐播放窗口里面用户可以进行相关的音乐播放的控制操作。
qt音乐播放器课程设计一、课程目标知识目标:1. 学生能够理解qt音乐播放器的功能及原理;2. 学生掌握qt音乐播放器的基本操作和使用方法;3. 学生了解音乐播放器在计算机应用领域的作用和地位。
技能目标:1. 学生能够运用qt编程环境,独立创建并运行一个简单的音乐播放器;2. 学生掌握音乐播放器界面设计的基本技巧,能够根据需求调整界面元素;3. 学生能够运用所学的知识,对音乐播放器进行功能扩展和优化。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情,激发他们主动探究新知识的精神;2. 培养学生团队合作意识,学会与他人共同解决问题,提高沟通能力;3. 培养学生遵守知识产权,尊重他人劳动成果的良好品质。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能够独立创建并运行一个具有基本功能的qt音乐播放器;2. 学生能够通过小组合作,对音乐播放器进行功能扩展和优化;3. 学生在课程结束后,能够对音乐播放器的发展趋势及其在现实生活中的应用有一定的了解和认识。
二、教学内容1. qt音乐播放器基础知识:- qt编程环境简介与安装;- 音乐播放器的基本原理与功能介绍;- qt音乐播放器项目创建与基本框架搭建。
2. qt音乐播放器界面设计:- 界面设计原则与布局;- 常用界面组件的使用与定制;- 音乐播放器界面设计与实现。
3. qt音乐播放器功能实现:- 音频文件加载与播放;- 播放进度控制与音量调节;- 歌曲列表管理与切换。
4. qt音乐播放器功能扩展:- 播放模式切换(顺序播放、随机播放、单曲循环);- 界面美化与个性化设计;- 其他实用功能添加(如歌词显示、皮肤更换等)。
5. 项目实战与团队协作:- 小组合作进行音乐播放器项目开发;- 功能分工与进度安排;- 项目展示与评价。
教学内容参考教材相关章节,结合课程目标进行系统组织,确保学生在掌握基本知识的基础上,能够逐步实现音乐播放器的功能扩展和优化。
第一章绪论1.1背景随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。
在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。
MP3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。
MP3技术使音乐数据压缩比率大,回放质量高。
如CD格式的音乐数据压缩成MP3格式,音效相差无己,但大小至少可压缩12倍。
由于MP3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。
1995年,MP3格式的音乐文件刚在网络上传播时,主要用Winamp等播放软件进行播放,使MP3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。
近几年以来,随着MP3播放器的出现及其技术的发展,人们对MP3播放器的要求越来越高,制造商在MP3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。
本设计主要是利用ARM技术设计一款新型的MP3播放器。
ARM9是ARM公司的16/32位RSIC处理器,是适用于普通设备的一种高性价比的微控制器。
本设计采用的MCU是三星公司推出的ARM9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。
S3C2440主频高达400M,片上集成了丰富的资源:如IIS(Inter-IC sound)总线与DMA控制器,为与数模转换器(DAC)的连接提供了一种理想的解决方案。
MP3播放器的设计比较复杂且对处理器的要求较高,因而MP3播放器必须仔细设计以降低成本。
本设计是在ARM9平台上设计、实现一个MP3播放器。
第二章系统总体方案2.1 系统功能本设计提出了一种基于嵌入式ARM处理器硬件平台的MP3播放器设计方法。
此播放器采用ARM体系结构中的ARM9作为系统控制器,利用外围设备USB通用串行接口下载MP3歌曲,用flashcard存贮MP3文件。
主要对MP3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。
系统的主要部分是音频编码与解码,这是系统设计的核心。
MP3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。
基于ARM9的MP3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及MP3播放器应用层。
主要实现歌曲的播放。
2.2 设计指标1、MP3工作电压为具有3.3V 左右,电流250mA,具有音频解码和播放功能。
2、通过USB 接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。
3. 操作界面统一管理功能,支持mp3格式、wma 格式,该MP3播放器除具有播放音乐外还附有歌词同步等功能。
4、MP3在不充电的情况下待机2小时。
2.3 系统总体结构设计嵌入式微处理器采用三星公司生产的ARM9处理器S3C2440,处理器采用ARM9处理器,它具有小体积、低功耗、低成本、高性能的特点是嵌入式微处理器的理想选择。
同时,ARM9处理器可以运行嵌入式操作系统,处理速度足够软件解码,扩充性好,是目前理想的解决方案。
本设计的系统总体结构如图2.1。
三星公司推出的基于ARM9内核32位RISC 嵌入式微处理器S3C2440,最高可运行在200MHz 。
该芯片的功能强大,完全能够满足MP3定点或浮点解码程序的实现,还能够将Linux 操作系统移植进入该芯片,实现包括播放MP3在内的多进程,多任务处理,是一种理想的解决方案。
S3C2440微处理器带触摸屏的LCD音频编解码电源USB 接口复位电路存储模块以太网控制芯片串口电路初始化、驱动程序图形界面应用程序Linux 操作系统硬件部分软件部分图2.1 系统总体结构图第三章 硬件详细设计方案3.1 硬件设计说明系统设计的硬件部分主要包括电源、ARM 微处理器芯片、存储芯片、USB接口芯片以及音频芯片等。
可归结为两个部分:(1) 微处理器S3C2440,及其外围电路,具体包括复位电路,存储模块(包括FLASH 、RAM 和ROM )、电源。
(2)系统的外围部分:音频接口、UART 、USB 接口、带触摸屏的LCD 、调试及下载接口。
音频编解码可以采用PHILIPS 的UCB1400等芯片。
LCD 可以采用320X240的TFT 液晶显示器,电源则宜用可充电锂电池。
功率放大喇叭S3C2440微处理器带触摸屏的LCDUCB1400电源USB 接口复位电路串口电路数字音频接口以太网控制芯片FLASH SDRAM 图3.1 硬件系统结构图如上图3.1可知,在此次设计中,MP3主要组成部分是:CPU 、MP3解码部分、音频放大器、FLASH 存储器及SDRAM 存储器。
我们所设计的MP3播放器以微处理器S3C244O 为中心,包括外部存储器、串口UART 、音频接口、带触摸屏的LCD 、USB 接口、复位电路、调试及下载接口。
解码部分由软件完成。
整个播放器整体控制。
此MP3播放器的核心是三星公司的S3C2440芯片。
系统可以分为核心部分、音频编解码部分、音频输出、液晶控制等几个部分,此外还有必不可少的电源管理等部分。
音频编解码可以采用PHILIPS 公司的UCB1400芯片。
LCD 可以采用试验箱上的TFT LCD 显示器。
硬件设计部分主要是S3C2440与UCB1400芯片的连接。
具体的模块说明如下。
3.2 处理器模块S3C2440S3C2440是三星公司生产的基于arm920T 内核的RISC 微处理器,其主频可达203MHz ,适用于信息家电、PDA 、手持设备、移动终端等领域。
S3C2440除具备一般嵌入式芯片所具有的总线、SDRAM 控制器和3个串口等外设之外,还具有TFT LCD 控制器、USBSlave 、USB Host 、I2C 总线控制器、SPI 控制器、IIS音频接口、SD&MMC 存储卡接口等丰富的扩展功能、AD 转换器,有GPIO (通用IO 口),还有nandflash 控制器,这些东西都有一些寄存器来控制。
芯片工作电压3.3/1.8 V ,最高运行速度可达200 MHz 。
由于它是一款专为手持设备设计的低功耗处理器.因此可以降低手持设备成本,具有较高的性价比。
该芯片是基于ARM9而开发的多功能SOC(signal operation contro1)。
ARM9是一种小型、快速、低能耗、集成式的内核 。
它的功能和特性如下:①具有较高的处理速度,通过内部锁相环,最高可在203 MHz的系统时钟下运行;②具有极低的功耗.其核心供电电压为1.8 V,外围I/O口使用3.3 V电压;③具有3种低功耗控制方式,甚至可关闭CPU中除唤醒逻辑外的所有功能,极大地降低了功耗;④与其他arm器件相比,S3C2410片上集成了更多的外设接口,如外部存储控制器、LCD,DMA,USBl.1,SD,M。
MC卡控制器、UART,SPI接口、I2C总线控制器和I2S总线控制器、I2S音频接口、PWM定时器、看门狗、117个外部I/O口、24个外部中断源、A/D转换器和触摸屏接口、实时时钟及片上PLL的时钟产生等。
使用集成接口,有利于功能的扩展。
3.3 存储模块存储模块由一片64 MB的SDRAM和两片16 MB的Flash组成,可为系统提供足够的存储空间。
Flash存储器是一种可在系统电擦写,掉电后信息不丢失的存储器。
与Flash存储器相比,SDRAM不具有掉电保持数据的特性,但存取速度大大高于Flash存储器,且具有读/写特性。
因此系统中SDRAM主要用作程序的运行空间、数据及堆栈区。
3.4 音频解码/编码模块决定MP3音质的关键是主控解码器件中的数模转换器(DAC)单元和耳机功率放大器单元。
DAC负责把解码的数字音频流转换成可驱动耳机发音的模拟音频信号;耳机放大器则可把模拟音频信号放大到可驱动耳机的功率。
该系统音频解码/编码模块采用PHILIPS公司的UCB1400芯片,UCB1400的外部接口共有48个管脚,大部分都提供AC Link、中断、音频、ADC、触屏、功率和其它接口。
其接口电路图如图3所示。
UCB1400是一种用于音频处理的20位立体声解码/编码器。
它在一个芯片上集成了音频解码/编码功能、一个触屏控制器和功率管理接口。
10个通用管脚可进行可编程输入/输出,使得主机控制器可执行控制功能和监控运行状态。
在此次设计中,UCB1400主要的作用是音频编解码器与触摸屏控制器,还有就是对电源管理进行监控。
S3C2440可通过IIC音频接口与UCB1400连接。
S3C2440微处理器内存模块音频芯片扬声器音频数据图3.2 音频模块流程3.5 网络模块S3C2440自身并没有网络控制器,接入以太网时需增加独立的以太网控制器,在此选用DM9000作为以太网控制器。
该器件具有通用的处理器接口、10M/100M自适应、4K双字节静态存取存储器、低功耗、高处理性能,可支持3.3-5V的容差。
3.6 带触摸屏的LCD模块显示MP3播放控制界面,通过触摸屏实现对播放和暂停,停止,音量递增,音量递减等功能的控制。
LCD可以采用试验箱上的320*240的TFT液晶显示器。
3.7 USB接口模块USB接口模块是连接U盘等存储设备为MP3播放器提供歌曲来源。
本设计中,主机是通过主控制器与USB设备进行数据传输的,USB主控制器采用USB2.0标准和开放式主机控制器接口标准,可支持高速和低速的USB设备,具备内置的MCU 和内部缓存,与CPU之间有一个静态存储器的接口。
CPU通过这个接口进行读写来完成USB协议要求的控制和数据收发功能。
USB主控制器提供一系列的寄存器,系统通过对这些寄存器可以实现对USB主控制器的控制。
3.8串口电路此MP3提供一个串口,用来调试硬件和软件。
Max232用来转换电平。
UART 用于开发调试控制和返回调试信息。
3.9系统复位电路系统时钟输入由24.576MHz的外部晶振提供,而微处理器内核的工作频率为66MHz,S3C2440内部含有PLL电路实现倍频,因此,系统由内部PLL电路倍频至66MHz,供给CPU运行。
系统复位信号由IMP811T芯片提供,并且设计了RESET按钮,可以在系统运行过程中随时复位操作,便于系统调试。
3.10电源模块系统电源由XC6206P332MR芯片提供,宜用可充电锂电池。
第四章系统软件设计方案总体上来说,系统软件包括操作系统、驱动程序及播放器应用程序3部分。
4.1 软件总体设计在此次设计中,MP3播放器的软件体系结构采用分层模式,它包括硬件层、驱动层、操作系统层及MP3播放器应用层等,软件体系结构图如下所示4.1。