音樂播放器軟件課程設(shè)計小組報告_第1頁
音樂播放器軟件課程設(shè)計小組報告_第2頁
音樂播放器軟件課程設(shè)計小組報告_第3頁
音樂播放器軟件課程設(shè)計小組報告_第4頁
音樂播放器軟件課程設(shè)計小組報告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

軟件課程設(shè)計實驗報告課題:音樂點播系統(tǒng)班級:作者:學(xué)號:指導(dǎo)老師:課設(shè)評價:課設(shè)成績:(小組報告)一、 需求分析TOC\o"1-5"\h\z1) 項目描述 31.1編寫目的 3\o"CurrentDocument"1.2項目背景 3\o"CurrentDocument"1.3開發(fā)工具及環(huán)境簡介 4\o"CurrentDocument"2) 軟件基本要求 4二、 總體方案設(shè)計說明\o"CurrentDocument"1)整體結(jié)構(gòu)模型 5\o"CurrentDocument"2) 各部分功能具體內(nèi)容及關(guān)系 5\o"CurrentDocument"3) 任務(wù)分配 6三、 詳細設(shè)計說明1) 客戶端設(shè)計\o"CurrentDocument"1.1圖形界面設(shè)計和列表管理 6\o"CurrentDocument"1.2本地播放 9\o"CurrentDocument"1.3特色功能的實現(xiàn) 10\o"CurrentDocument"1.4客戶端與服務(wù)器通信 122) 服務(wù)器端設(shè)計2.1服務(wù)器界面設(shè)計 142.2樂庫管理14 14\o"CurrentDocument"2.3服務(wù)器與客戶端通信 16四、 測試過程說明\o"CurrentDocument"1) 測試步驟 16\o"CurrentDocument"2) 測試結(jié)果與測評 17五、 功能模塊使用說明1) 客戶端 18\o"CurrentDocument"2) 服務(wù)器端 19\o"CurrentDocument"六、 開發(fā)計劃 20\o"CurrentDocument"七、 開發(fā)總結(jié)與建議 21需求分析1)項目描述1.1編寫目的設(shè)計一個基于windows平臺的音樂點播系統(tǒng),實現(xiàn)音樂庫的管理以及用戶網(wǎng)絡(luò)下載和播放功能。通常音樂播放器能夠滿足音樂的播放功能,實現(xiàn)一款播放器的基本功能,但隨著網(wǎng)絡(luò)的日益發(fā)達以及人們對信息交互的需要,越來越多的情況下我們更多的是通過網(wǎng)絡(luò)來獲取音樂資源,但如何有效的實現(xiàn)這一目的以及提供良好的用戶體驗是其關(guān)鍵。通過windowsocket服務(wù)將客戶端與服務(wù)器端相連接,將資源信息通過客戶端來顯示,不但簡潔方便同時也能更好的滿足用戶需求,給用戶帶來極大的方便。1.2項目背景本項目作為《軟件課程設(shè)計》課程的訓(xùn)練項目提出,在基本的設(shè)計實現(xiàn)基礎(chǔ)上,將不斷對已有的設(shè)計進行進一步的修改和完善,最終完成整個軟件開發(fā)過程。本次項目的旨在通過不同軟件工程設(shè)計方法與技術(shù)的實踐,了解和掌握各種技術(shù)、工具平臺的特點與局限性,體會協(xié)同開發(fā)方式。第1階段:主要目的是通過對項目需求的分析和理解,通過面向?qū)ο蟮脑O(shè)計方式完成項目前期的準備工作。第2階段:我們會根據(jù)既定需求,完善設(shè)計模式。第3階段:在設(shè)計文檔和需求分析的文檔下,完成音樂點播系統(tǒng)原型的開發(fā),并完成整個開發(fā)流程的測試報告第4階段:通過音樂點播系統(tǒng)軟件的設(shè)計開發(fā),了解軟件文檔的編寫原則,訓(xùn)練掌握軟件各類文檔寫作的技巧,同時在文檔的編寫過程中提高和增加java開發(fā)的能力和經(jīng)驗。1.3開發(fā)工具及環(huán)境簡介操作系統(tǒng):windowsxp或以上版本Java-EclipseSDK:一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。同時Eclipse附帶了一個標(biāo)準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT和JMF)。MicrosoftOfficeWord2007:經(jīng)典辦公軟件,本項目中用于編寫文檔。軟件基本要求2.1服務(wù)器端:有圖形界面;提供音樂庫的管理功能:包括添加、查詢、刪除功能;提供網(wǎng)絡(luò)下載功能:支持通過歌名和歌手名進行歌曲檢索和下載功能;2.2音樂播放端:有圖形界面;支持音樂列表管理:網(wǎng)絡(luò)下載、本地刪除;提供基本播放功能:播放、暫停、快進、快退、停止;支持播放模式:單曲播放、單曲循環(huán)、順序播放和隨機播放;支持播放信息顯示:歌曲名、播放時間。2.3拓展需求:支持歌詞顯示和同步播放;支持歌曲在線播放;支持更友好的歌曲檢索和下載功能;提供更良好的操作界面。

二、總體方案設(shè)計說明1)整體結(jié)構(gòu)模型本項目需要實現(xiàn)音樂播放的功能,同時需要有良好的界面操作,同時支持網(wǎng)絡(luò)下載播放等功能。在概要設(shè)計中我們將該項目分解成客戶端和服務(wù)器端來分別實現(xiàn),并通過通信將兩者聯(lián)系在一起。1.1系統(tǒng)框架圖圖一系統(tǒng)框架圖2)各部分功能具體內(nèi)容及關(guān)系迷你音樂盒圖形界面模塊]通訊傳輸模塊f/'基本音樂迷你音樂盒圖形界面模塊]通訊傳輸模塊f/'基本音樂'播放模塊\ /音樂列表管理模塊'歌詞顯示模塊音樂播放模塊圖二總體設(shè)計框圖2.1基本播放模塊功能:播放/暫停/停止、快進/快退、上一首/下一首、音量調(diào)節(jié)(包括靜音)、單曲播放/隨機播放/順序播放2.2音樂列表管理:添加/刪除音樂、歌曲信息顯示(歌名、歌手名)2.3歌詞顯示模塊:同步歌詞顯示2.4客戶端傳輸模塊:歌曲按條件搜索、歌曲下載2.5服務(wù)器音樂管理:添加/刪除音樂、歌曲信息顯示(歌名、歌手名)2.6服務(wù)器傳輸模塊:提供音樂下載2.7圖形界面模塊:各部分功能界面可視化的實現(xiàn)3)任務(wù)分配組長:文念,負責(zé)分工調(diào)度,播放列表管理模塊,音樂播放模塊,客戶端服務(wù)器通信模塊等。組員:劉非凡,負責(zé)客戶端、服務(wù)器端圖形化界面,及軟件測試、文檔報告編寫。三、詳細設(shè)計說明1、客戶端設(shè)計1)圖形界面設(shè)計和列表管理1.1登陸界面設(shè)計考慮到項目的用戶黏著度,在設(shè)計初期,擬設(shè)置分享功能,支持用戶注冊登陸等功能,并通過數(shù)據(jù)庫保存用戶信息,注冊用戶之間可以分享歌曲。用戶信息函數(shù):publicWelcomeFrameO;這是整個項目的主類,即程序的入口,用戶選擇可以注冊,登陸或者是直接進入播放器主界面。

圖三登陸界面1?2主界面設(shè)計音樂播放器包含的功能模塊比較復(fù)雜,因此需要將各個功能模塊進行劃分。在設(shè)計的過程中,我們將整個界面合理的劃分為兩個部分,包括:1、左邊的歌曲信息及管理1.1當(dāng)前播放、時間條、三個操作按鈕,音量控制1.2播放列表(左)歌曲顯示(右),三個操作按鈕1.3添加刪除、搜索框和按鈕,2、右邊的歌詞面板2.1系統(tǒng)時間顯示,搜索,下載2.2歌詞顯示,樂庫搜索,皮膚切換主界面函數(shù):publicclassMainView();左邊部分:publicvoidViewLeft();右邊部分:publicvoidViewRight();圖四音樂播放器主界面列表管理包括歌曲的增刪查改,為了方便對歌曲的操作,我們采用了sqlserver2000數(shù)據(jù)庫添加歌曲:publicclassAddMusic();修改歌曲:publicclassUpdateMusic();刪除歌曲:由于刪除操作直接與數(shù)據(jù)庫進行交互即可,沒有封裝成一個類圖五添加歌曲界面圖六修改歌曲界面本地播放2.1音頻文件的打開和關(guān)閉播放類:publicclassPlayerWork();音樂的播放暫停等功能的實現(xiàn)都需要調(diào)用該類,在播放類中包含有2個主要的方法:publicvoidplayerStart()//開始播放publicvoidplayerStop()//停止播放2.2音頻文件信息的讀取//通過傳地址找到待播放的歌曲publicvoidPlayerWorking(StringfileAddress);2.3對歌曲的操作:停止/播放,上/下一曲,模式切換在java中,我們通過對事件的監(jiān)聽來實現(xiàn)相關(guān)操作,因此對歌曲的操作我們?nèi)糠庋b在一個事件監(jiān)聽的類里邊。//按鈕事件的監(jiān)聽(播放按鈕,操作按鈕、播放模式按鈕,搜索下載)publicvoidactionPerformed(ActionEvente){//1、處理操作按鈕(該操作為對歌曲列表的管理,即增刪查改的操作)if(e.getActionCommand().equals(nadd"))//添加if(e.getActionCommand().equals("delete"))//刪除if(e.getActionCommand().equals(nupdaten))//修改//2、處理播放按鈕if(e.getActionCommand().equals("jb_next"))//下一曲if(e.getActionCommand().equals("jb_last"))//上一曲if(e.getActionCommand().equals("jb_play_pausen))//播放/暫停//3、處理播放模式if(e.getActionCommand().equals("shunxu"))//順序播放if(e.getActionCommand().equals("danqun)) //單曲播放if(e.getActionCommand().equals("xunhuan"))//循環(huán)播放//4、搜索與下載if(e.getActionCommand().equals("search"))//搜索if(e.getActionCommand().equals("download"))//下載2.4播放狀態(tài)顯示在播放歌曲的過程中,需要實時的顯示當(dāng)前的播放,我們直接用jlb_song.setText(songname);即可以實現(xiàn)當(dāng)前播放的顯示2.5播放時間的變更播放時間包括歌曲的總時間以及正在播放的是時間點,因此我們用了一個類來實現(xiàn)://計算總時間并按照正確格式顯示publicStringtotal(intt_seconds)在顯示當(dāng)前歌曲的時間時,我們將其在線程中實現(xiàn)。2.6歌詞同步顯示歌詞顯示的類::publicclassLrcParser()通過調(diào)用paint函數(shù)實現(xiàn)歌詞的實時添加://實時同步歌詞,參數(shù)g為畫筆工具,Stringpait為實時的歌詞publicvoidpaint(Graphicsg,Stringpaint)特色功能的實現(xiàn)在我們的音樂播放器中,添加了幾個特色功能:1、當(dāng)前時間的同步顯示;2、整曲歌詞的顯示;3、根據(jù)樂庫搜索歌曲4、智能換膚同對歌曲的操作一樣,實現(xiàn)特色功能我們也是用事件的監(jiān)聽來完成的,在右邊的界面中,我們設(shè)計了四個面板,分別用來存放四個功能模塊的顯示,并通過點擊Button來進行切換。//4個button的監(jiān)聽,實現(xiàn)面板的切換jb_lrc.addActionListener(newActionListener())//1、歌詞jb_ku.addActionListener(newActionListener())//2、樂庫jb_pifu.addActionListener(newActionListener())//3、背景jbso.addActionListener(newActionListener())//4、搜索結(jié)果3.1系統(tǒng)時間的實時同步//得到系統(tǒng)時間并顯示DatenowTime=newDate();Stringnow="TIME:"+nowTime.toString();圖七時鐘同步3.2根據(jù)樂庫搜索歌曲劉若英-偈鳥.叩3鳳凰傳奇-最炫民族風(fēng).叩3劉若英-為愛癡狂.3.2根據(jù)樂庫搜索歌曲劉若英-偈鳥.叩3鳳凰傳奇-最炫民族風(fēng).叩3劉若英-為愛癡狂.mp3劉若英-我是一只小小鳥.叩3劉若英-原來你也在這里.雙擊下裁圖九樂庫管理與搜索結(jié)果圖十背景切換客戶端與服務(wù)器通信客戶端與服務(wù)器的通信包括歌曲的搜索與下載,由于在本項目中,我們應(yīng)用的sqlserver2000數(shù)據(jù)庫,因此在搜索時我們需要與數(shù)據(jù)庫進行連接,然后才能檢索相關(guān)結(jié)果,在下載時我們則需要與服務(wù)器建立socket連接,方能下載歌曲。4.1搜索歌曲搜索功能的實現(xiàn)需要與數(shù)據(jù)庫進行交互,在本項目中,支持歌曲的模糊搜索,即:可以通過歌曲名或者歌手名檢索歌曲并支持雙擊下載。搜索歌曲的功能通過事件的監(jiān)聽來實現(xiàn):publicvoidactionPerformed(ActionEvente){//4、搜索與下載if(e.getActionCommand().equals("searchn))//搜索if(e.getActionCommand().equals(ndownload"))//下載}4.2下載歌曲4.2.1本地下載本地下載歌曲的實現(xiàn)是通過用戶雙擊要下載的歌曲,然后通過調(diào)用socket從服務(wù)器端下載歌曲到播放列表。從服務(wù)器獲取資源的類:publicClientReciveFromServer();從服務(wù)器獲取資源的類:publicClientReciveFromServer();客戶端的socket類:publicclassClientSocket();圖十一本地歌曲下載4.2.2網(wǎng)絡(luò)下載在聯(lián)網(wǎng)狀態(tài)下,網(wǎng)絡(luò)下載是可以直接輸入需要下載的歌曲的url,直接從網(wǎng)上在下載歌曲到本地。網(wǎng)絡(luò)下載是通過調(diào)用歌曲下載的類,并以線程的方式下載網(wǎng)絡(luò)資源。網(wǎng)絡(luò)下載的界面的類:publicclassDownloadFrame();網(wǎng)絡(luò)下載的線程類:publicclassDownLoadFromNet();「圄網(wǎng)堵文#下裁,口回■UBL:http://down!.crl73.com//Eoft2/AnytoIcorL.zipi.....下載.....Jn主機:down4.cr173.comI端口:80網(wǎng)絡(luò)文件的類型:application/octet-stream主機:down4.cr173.com正在下載...Threadid:0startThreadid:1startThreadid:2startThreadid:3startlaoding...下載完成...Ik. 」圖十二網(wǎng)絡(luò)歌曲下載2、服務(wù)器端設(shè)計服務(wù)器端需要實現(xiàn)的功能包括:有圖形界面;提供音樂庫的管理功能:包括添加、查詢、刪除功能;提供網(wǎng)絡(luò)下載功能:支持通過歌名和歌手名進行歌曲檢索和下載功能;1)服務(wù)器界面設(shè)計1.1圖形界面設(shè)計服務(wù)器界面的主類:publicclassServerFrame();迷你音樂荷放器-推舞文件設(shè)置耕助1歌曲信息用戶信息 |查間刷新歌曲名歌曲地址歌手擂袖列表歌詞地址▲KalyPerry-Wid...F:\KuGou\Ka1y...歌手名、ladygaga-火暴...F:\KuGou\ladyg...好聽的歌Maroon5-Pay...F:\KuGou\Maro...好聽的歌tara-謊言.mp3F:\KuGou\tara-...未知默認列表單色凌-觸建純...F:\KuGou\^色...默認列表范瑋琪-你和我...C:\Users\acert...鳳凰傳奇-最炫...F:\KuGou\JaL凰...劉若英好聽的歌卡農(nóng)-世界名曲...F:狀uGo山卡農(nóng)好聽的歌梁靜茹-寧夏.E...FlKwGou謙蓄...好聽的歌F:\KuGou\LRC\...梁靜茹-如果有…F:\KuGou^靜...歌手名-梁靜茹、古巨基...F:\KuGou^靜...古巨基默認列表F:\KuGou\LRC\...劉若英-候鳥.m...FlKuGou成信...歌手名、言歡的歌劉若英-為愛癡...F:\KuGou^iJ若...劉若英直歡的歌F:\KuGou\LRC\...劉若英-我是一...F:\KuGou^iJ若...劉若英好聽的歌劉若英-原來你...F:\KuGou^iJ若...劉若英言液的歌F:\KuGou\LRCl..劉惜君-拂曉.E...F:\KuGou^iJ1惜...好聽的歌F:\KuGou\LRC\...孟庭葦-木棉道….FlKwGoul孟庭...好聽的歌添M 刪除 醛改2圖十三服務(wù)器界面2)樂庫管理2.1音樂庫的管理功能:添加、修改、查詢、刪除添加:publicclassAddMusic();修改:publicclassUpdateMusic();查詢和刪除功能直接在主界面中實現(xiàn),這兩種操作需要直接與數(shù)據(jù)庫進行交互。

圖十四添加歌曲圖十五修改歌曲2.2網(wǎng)絡(luò)下載功能監(jiān)聽網(wǎng)絡(luò)文件下載按鈕并實現(xiàn)網(wǎng)絡(luò)下載:PublicvoidactionPerformed(ActionEvente)(if(e.getActionCommand().equals("downloadn)){//下載歌曲DownLoadFromNetdownLoad=newDownLoadFromNet();文件設(shè)置幫助五用戶信息文件設(shè)置幫助五用戶信息歌曲信息驟曲信息添加歌曲歌曲名yPerry-Wid...FIKl下載歌曲Fgag日-火景...FIKl謁出roon5-Pay...FIKl-謊言.mp3FIKl單色凌-觸碰純...FIKl范瑋琪-你和我…C1U:鳳凰傳奇-最炫…FIKl卡農(nóng)-世界名曲…FIKl梁靜茹-寧夏.E...FIKl梁靜茹-如果有…FIKl梁靜茹、古巨基…FIKl劉若英-候鳥m...FIKl劉若英-為愛癡…FIKl劉若英-我是一...FIKl咚迷你音樂瓶牧器-服務(wù)展圖十六網(wǎng)絡(luò)下載服務(wù)器與客戶端通信服務(wù)器與客戶端通信線程:publicclassServerSendToClient(){ServerSocketss;//服務(wù)器開啟服務(wù)端口StringfilePath;//要下載的文件Sockets=null;//用于連接和傳送數(shù)據(jù)的socket}四、測試過程說明1)測試步驟1、 點擊服務(wù)器端生成的musicServer.exe文件,進入服務(wù)器界面,并單擊設(shè)置按鈕,開啟服務(wù)器2、 點擊客戶端生成的musicClient.exe文件,進入客戶端界面,開始運行3、 測試歌曲播放:風(fēng)別測試播放/暫停、上/下一曲、快進/快退按鈕4、 測試播放模式:選擇播放模式,順序、循序、單曲三種播放模式5、 測試歌曲信息操作按鈕:選擇添加、修改或刪除歌曲按鈕,進行相應(yīng)操作6、 測試歌詞:在歌曲播放的同時,點擊歌詞面板并觀察歌詞是否實時同步7、 測試樂庫與換膚:對擴展功能面板進行切換,點擊歌手圖片搜索歌曲或點擊背景圖片進行背景的切換8、 搜索:在搜索框中輸入要查詢的信息,點擊搜索,觀察搜索結(jié)果9、 下載:(1)在搜索結(jié)果中雙擊歌曲可以直接下載(2)點擊網(wǎng)絡(luò)下載按鈕,輸入url在聯(lián)網(wǎng)情況下下載網(wǎng)絡(luò)歌曲2)測試結(jié)果與測評1、服務(wù)器端已完成功能有圖形界面;提供音樂庫的管理功能:包括添加、查詢、刪除功能;提供網(wǎng)絡(luò)下載功能:支持通過歌名和歌手名進行歌曲檢索和下載功能;2、音樂播放端已完成功能有圖形界面;支持音樂列表管理:網(wǎng)絡(luò)下載、本地刪除;提供基本播放功能:播放、暫停、停止;支持播放模式:單曲播放、單曲循環(huán)、順序播放和隨機播放;支持播放信息顯示:歌曲名、播放時間。3、拓展功能支持歌詞顯示和同步播放;支持歌曲在線播放;支持更友好的歌曲檢索和下載功能;支持當(dāng)前時間顯示支持換膚支持樂庫搜索4、待改善功能1、 快進快退功能有待改進2、 界面有時會出現(xiàn)bug,證明軟件不夠穩(wěn)定,需要在代碼中進一步修改,是整個項目更加健壯3、 在客戶端下載歌曲時有時會出現(xiàn)誤碼或者歌曲下載不成功的情況,這可能是由于使用的文件傳輸協(xié)議不恰當(dāng)導(dǎo)致,在后期處理的時候需經(jīng)過調(diào)試之后選擇更加合適的傳輸協(xié)議。4、 在客戶端使用了數(shù)據(jù)庫,頻繁的與數(shù)據(jù)庫的交互導(dǎo)致軟件運行比較慢,在后期需要改進,用文件來保存歌曲的信息會更合理。

五、功能模塊使用說明1、客戶端1.1客戶端運行界面展示圖十七客戶端主界面1.2操作說明1.2.1基本播放模塊功能:播放/暫停/停止:單擊播放按鈕按鈕可實現(xiàn)播放暫停的轉(zhuǎn)換;上一首/下一首:單擊上一曲或下一曲可按操作播放歌曲單曲播放/隨機播放/順序播放:點擊播放模式選中即可音樂列表管理:添加/修改/刪除音樂:可以通過界面左下角的三個按鈕來添加、修改或刪除歌曲,該操作會與數(shù)據(jù)庫進行交互;歌曲信息顯示(歌名、歌手名):當(dāng)前有歌曲播放時,在界面左上角能正確顯示當(dāng)前的額歌曲和歌手信息。歌詞顯示模塊:同步歌詞顯示:在界面的右下角會直接實時同步當(dāng)前歌曲的歌詞,并能在歌詞面板中查看所有的歌詞信息1.2.4客戶端傳輸模塊:歌曲按條件搜索:根據(jù)要查詢的歌曲,可

溫馨提示

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

評論

0/150

提交評論