版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
年4月19日音乐播放器Java课程设计报告文档仅供参考,不当之处,请联系改正。课程设计报告课程设计题目:java音乐播放器学生姓名:专业:XXXXXXXXXXXXX班级:指导教师:20XX年X月X日一、课程设计目的1、编程设计音乐播放软件,使之实现音乐播放的功能。2、培养学生用程序解决实际问题的能力和兴趣。3、加深java中对多媒体编程的应用。二、课程设计的要求利用学到的编程知识和编程技巧,要求学生:1、系统设计要能完成题目所要求的功能,设计的软件能够进行简单的播放及其它基本功能。2、编程简练,可用,尽可能的使系统的功能更加完善和全面3、说明书、流程图要清楚。三、课程设计内容1、课程设计的题目及简介音乐播放软件要求:有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常见播放软件功能。2、设计说明主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。publicMyMusicPlayer():实现窗口的成员方法publicvoidrun():实现改变歌曲的播放状态的成员方法publicAudioCliploadSound(Stringfilename):实现对声音的加载publicvoidmouseClicked(MouseEvente):实现对按钮的监听publicvoiditemStateChanged(ItemEventarg0):返回一个AudioClip对象3、程序流程图开始开始出现界面选择播放歌曲播放暂停前一首后一首结束4、程序清单importjava.awt.*;importjavax.swing.*;importjava.applet.*;importjava.awt.event.*;.*; publicclassMyMusicPlayerextendsThreadimplementsMouseListener,ItemListener{ JFrameMainFrame=newJFrame("MyMusicPlayer");//定义主窗体 JLabelsongname=newJLabel();//用标签显示状态 JButtonlast=newJButton(); JButtonplay=newJButton(); JButtonnext=newJButton(); JButtonloop=newJButton();//定义上一曲,播放,下一曲,循环四个按钮 JLabellist=newJLabel("播放列表"); Listsonglist=newList();//显示歌曲列表 AudioClip[]song=newAudioClip[10];//将音频文件放在数组中 AudioClipplaysong;//当前选定播放的音频文件 String[]name={"黄小琥-顺其自然.wav","陈奕迅-张氏情歌.wav","黄小琥_没那么简单.wav", "戚薇-如果爱忘了.wav","郭采洁-狠狠哭.wav","test.wav"}; //将所有文件名存放在字符串数组name中 Stringplayname;//当前选定播放的音频名 intj=0;//记录当前选定播放的是哪首歌曲,默认为第一首 booleanplaybutton=true;//记录播放状态,默认为暂停播放 booleanloopbutton=false;//记录循环状态,默认为没有循环 Threadthread=newThread("pl"); staticMyMusicPlayerYu; publicMyMusicPlayer(){ MainFrame.setLayout(null); MainFrame.setBounds(300,50,310,500); MainFrame.setVisible(true); MainFrame.setDefaultCloseOperation(3); MainFrame.add(songname); Fontsname=newFont("斜体",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(newImageIcon("1.png")); play.setIcon(newImageIcon("2.png")); next.setIcon(newImageIcon("3.png")); loop.setIcon(newImageIcon("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); Fontlis=newFont("宋",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(inti=0;i<name.length;i++) { song[i]=loadSound(name[i]);//逐个获取音频文件 songlist.add(name[i]);//将歌曲名添加到播放列表 } playsong=song[0]; } publicstaticvoidmain(String[]args){ Yu=newMyMusicPlayer(); Yu.start(); } publicvoidmouseClicked(MouseEvente){ JButtonbtn=(JButton)e.getSource(); playsong.stop(); if(btn==play) {if(playbutton==false) playbutton=true; else playbutton=false;//当按下play后改变播放状态 } else if(btn==last) {j-=1;//当按下last后将上一曲选定 if(j<0) j=name.length-1;//若之前选定为第一首,则跳到最后一首 playbutton=true; loopbutton=false; } else if(btn==next) {j+=1;//当按下next后将下一曲选定 if(j>=name.length) j=0;//若之前选定为最后一首,则跳到第一首 playbutton=true; loopbutton=false; } else if(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(newImageIcon("2.png")); } } publicvoidmouseEntered(MouseEventarg0){ //TODOAuto-generatedmethodstub } publicvoidmouseExited(MouseEventarg0){ //TODOAuto-generatedmethodstub } publicvoidmousePressed(MouseEventarg0){ //TODOAuto-generatedmethodstub } publicvoidmouseReleased(MouseEventarg0){ //TODOAuto-generatedmethodstub } publicvoiditemStateChanged(ItemEventarg0){ Stringstr=songlist.getSelectedItem(); playsong.stop(); for(inti=0;i<name.length;i++) if(str==name[i]) { j=i; break; } Yu.run(); } publicvoidrun(){ playsong=song[j];//播放状态为播放时 playsong.play();//播放选定歌曲 playname=name[j]; if(loopbutton==true) { playsong.loop();//循环播放选定歌曲 songname.setText("循环播放:"+playname); } else songname.setText("正在播放:"+playname); songlist.select(j);//播放列表中选定播放歌曲项目 play.setIcon(newImageIcon
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年水路交通运输技能考试-油轮船员笔试参考题库含答案
- 2024年材料能源行业技能考试-燃气轮机机电运行工笔试参考题库含答案
- 2024年机械制造行业技能考试-灯具制造工程师笔试参考题库含答案
- 智能电能表项目可行性研究报告及运营方案|瑞克咨询|2024年编制|
- 铝合金游艇项目可行性研究报告及运营方案|瑞克咨询|2024年编|
- 五年高考高考英语真题分项详解 专题08 短文改错(含解析)-人教高三全册英语试题
- 2024年服务行业技能考试-中国工业清洗协会职业技能证笔试参考题库含答案
- 2024年操作工技能考核考试-木工技能笔试参考题库含答案
- 2024年建筑继续教育-建筑八大员(九大员)继续教育笔试参考题库含答案
- 2024年岗位知识竞赛-黑龙江省分公司通信线路(电缆部分)知识竞赛笔试参考题库含答案
- 水利工程中的危险源辨识与风险评估
- 22《我们奇妙的世界》(说课课件)
- 沉砂池A、B、C实施性施工组织设计
- 汉字的演变过程教学课件
- 危化品运输安全检测与监控
- 民宿餐饮培训课件
- 《短期融资》课件
- 电磁感应加热节能可行性方案
- 2024智能燃气表通用技术要求
- 汽车口碑榜方案
- 《肿瘤的化学治疗》课件
评论
0/150
提交评论