音樂播放器Java專業(yè)課程設計方案報告_第1頁
音樂播放器Java專業(yè)課程設計方案報告_第2頁
音樂播放器Java專業(yè)課程設計方案報告_第3頁
音樂播放器Java專業(yè)課程設計方案報告_第4頁
音樂播放器Java專業(yè)課程設計方案報告_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

課程設計匯報課程設計題目:java音樂播放器學生姓名:專業(yè):XXXXXXXXXXXXX班級:指導老師:20XX年X月X日一、課程設計目標1、編程設計音樂播放軟件,使之實現(xiàn)音樂播放功效。2、培養(yǎng)學生用程序處理實際問題能力和愛好。3、加深java中對多媒體編程應用。二、課程設計要求利用學到編程知識和編程技巧,要求學生:1、系統(tǒng)設計要能完成題目所要求功效,設計軟件能夠進行簡單播放及其它基礎功效。2、編程簡練,可用,盡可能使系統(tǒng)功效愈加完善和全方面3、說明書、步驟圖要清楚。三、課程設計內(nèi)容1、課程設計題目及介紹音樂播放軟件要求:有圖形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常見播放軟件功效。2、設計說明關鍵利用多媒體編程、圖形界面、數(shù)組及循環(huán)進行設計,從而實現(xiàn)簡單音樂播放。publicMyMusicPlayer():實現(xiàn)窗口組員方法publicvoidrun():實現(xiàn)改變歌曲播放狀態(tài)組員方法publicAudioCliploadSound(Stringfilename):實現(xiàn)對聲音加載publicvoidmouseClicked(MouseEvente):實現(xiàn)對按鈕監(jiān)聽publicvoiditemStateChanged(ItemEventarg0):返回一個AudioClip對象3、程序步驟圖開始開始出現(xiàn)界面選擇播放歌曲播放暫停前一首后一首結(jié)束4、程序清單importjava.awt.*;importjavax.swing.*;importjava.applet.*;importjava.awt.event.*;import.*; publicclassMyMusicPlayerextendsThreadimplementsMouseListener,ItemListener{ JFrameMainFrame=newJFrame("MyMusicPlayer");//定義主窗體 JLabelsongname=newJLabel();//用標簽顯示狀態(tài) JButtonlast=newJButton(); JButtonplay=newJButton(); JButtonnext=newJButton(); JButtonloop=newJButton();//定義上一曲,播放,下一曲,循環(huán)四個按鈕 JLabellist=newJLabel("播放列表"); Listsonglist=newList();//顯示歌曲列表 AudioClip[]song=newAudioClip[10];//將音頻文件放在數(shù)組中 AudioClipplaysong;//目前選定播放音頻文件 String[]name={"黃小琥-順其自然.wav","陳奕迅-張氏情歌.wav","黃小琥_沒那么簡單.wav", "戚薇-假如愛忘了.wav","郭采潔-狠狠哭.wav","test.wav"}; //將全部文件名存放在字符串數(shù)組name中 Stringplayname;//目前選定播放音頻名 intj=0;//統(tǒng)計目前選定播放是哪首歌曲,默認為第一首 booleanplaybutton=true;//統(tǒng)計播放狀態(tài),默認為暫停播放 booleanloopbutton=false;//統(tǒng)計循環(huán)狀態(tài),默認為沒有循環(huán) 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);//設置顯示狀態(tài)字體為斜體 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);//添加按鍵鼠標監(jiān)聽器 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);//添加列表監(jiān)聽器 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后改變播放狀態(tài) } 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后,改變循環(huán)狀態(tài)和播放狀態(tài) 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];//播放狀態(tài)為播放時 playsong.play();//播放選定歌曲 playname=name[j]; if(loopbutton==true) { playsong.loop();//循環(huán)播放選定歌曲 songname.setText("循環(huán)播放:"+playname); } else songname.setText("正在播放:"+playname); songlist.select(j);//播放列表中選定播放歌曲項目 play.setIcon(newImageIco

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論