版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java程序設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書(shū)簡(jiǎn)單音樂(lè)播放器起止日期: 2011年12月6日 至 2012年 1月 4日學(xué)生姓名XXX班級(jí)軟件工程093班學(xué)號(hào)成績(jī)指導(dǎo)教師計(jì)算機(jī)與通信學(xué)院2011年 12 月28日目錄 TOC o 1-3 h z u HYPERLINK l _Toc312573630 一、緒論 PAGEREF _Toc312573630 h 1 HYPERLINK l _Toc312573631 1.1 課題背景 PAGEREF _Toc312573631 h 1 HYPERLINK l _Toc312573632 1.2 課程設(shè)計(jì)目的 PAGEREF _Toc312573632 h 1 HY
2、PERLINK l _Toc312573633 1.4 課程設(shè)計(jì)實(shí)驗(yàn)環(huán)境 PAGEREF _Toc312573633 h 1 HYPERLINK l _Toc312573634 1.5 課程設(shè)計(jì)要求 PAGEREF _Toc312573634 h 1 HYPERLINK l _Toc312573635 二、課程系統(tǒng)分析 PAGEREF _Toc312573635 h 3 HYPERLINK l _Toc312573636 2.1 系統(tǒng)分析 PAGEREF _Toc312573636 h 3 HYPERLINK l _Toc312573637 2.1 功能分析 PAGEREF _Toc31257
3、3637 h 3 HYPERLINK l _Toc312573638 三、系統(tǒng)設(shè)計(jì) PAGEREF _Toc312573638 h 4 HYPERLINK l _Toc312573639 3.1 系統(tǒng)功能結(jié)構(gòu)圖 PAGEREF _Toc312573639 h 4 HYPERLINK l _Toc312573640 3.2 模塊功能設(shè)計(jì) PAGEREF _Toc312573640 h 4 HYPERLINK l _Toc312573641 處理“添加”按鈕 PAGEREF _Toc312573641 h 4 HYPERLINK l _Toc312573642 處理“播放”按鈕 PAGEREF _
4、Toc312573642 h 4 HYPERLINK l _Toc312573643 3.2.3 處理“停止”按鈕 PAGEREF _Toc312573643 h 4 HYPERLINK l _Toc312573644 .4 處理“單曲循環(huán)”按鈕 PAGEREF _Toc312573644 h 5 HYPERLINK l _Toc312573645 四、系統(tǒng)實(shí)現(xiàn) PAGEREF _Toc312573645 h 6 HYPERLINK l _Toc312573646 4.1 系統(tǒng)主界面的實(shí)現(xiàn) PAGEREF _Toc312573646 h 6 HYPERLINK l _Toc312573647
5、4.2 系統(tǒng)主要功能實(shí)現(xiàn) PAGEREF _Toc312573647 h 6 HYPERLINK l _Toc312573648 系統(tǒng)主界面及關(guān)鍵代碼: PAGEREF _Toc312573648 h 6 HYPERLINK l _Toc312573649 添加文件的界面和代碼: PAGEREF _Toc312573649 h 9 HYPERLINK l _Toc312573650 4.2.3 播放音樂(lè)的界面和代碼: PAGEREF _Toc312573650 h 11 HYPERLINK l _Toc312573651 4.2.4 單曲循環(huán)的界面和代碼: PAGEREF _Toc312573
6、651 h 12 HYPERLINK l _Toc312573652 五、設(shè)計(jì)總結(jié) PAGEREF _Toc312573652 h 15 HYPERLINK l _Toc312573653 5.1 設(shè)計(jì)體會(huì)及評(píng)價(jià) PAGEREF _Toc312573653 h 15 HYPERLINK l _Toc312573654 參考文獻(xiàn) PAGEREF _Toc312573654 h 16 HYPERLINK l _Toc312573655 致 謝 PAGEREF _Toc312573655 h 17 HYPERLINK l _Toc312573656 課程設(shè)計(jì)檢查表 PAGEREF _Toc31257
7、3656 h 18一、緒論 課題背景隨著社會(huì)電子音樂(lè)文件的與日俱增,作為現(xiàn)在最流行的音樂(lè)文件*.mp3,*.wav文件的數(shù)量和規(guī)模也在比以往的任何時(shí)候要多,不論是電臺(tái)DJ需要使用方便而有效地管理自己所使用的音樂(lè)文件,還是個(gè)人。在計(jì)算機(jī)日益普及的今天,若采用一套有效的音樂(lè)播放器。將自己所收藏的大量的音樂(lè)文件能隨時(shí)隨地的播放,這將方便于眾用戶聽(tīng)音樂(lè)的需求。通過(guò)使用本音樂(lè)播放器能為音樂(lè)愛(ài)好者帶來(lái)意想不到的收獲。 課程設(shè)計(jì)目的JAVA程序設(shè)計(jì)是計(jì)算機(jī)相關(guān)專業(yè)的必修專業(yè)基礎(chǔ)課程,其實(shí)踐性、應(yīng)用性很強(qiáng)。實(shí)踐教學(xué)環(huán)節(jié)是必不可少的一個(gè)重要環(huán)節(jié)。本課程的程序設(shè)計(jì)專題實(shí)際是計(jì)算機(jī)相關(guān)專業(yè)學(xué)生學(xué)習(xí)完JAVA程序設(shè)計(jì)
8、課程后,進(jìn)行的一次全面的綜合訓(xùn)練,JAVA程序設(shè)計(jì)的設(shè)計(jì)目的是加深對(duì)理論教學(xué)內(nèi)容的理解和掌握,使學(xué)生較系統(tǒng)地掌握程序設(shè)計(jì)及其在網(wǎng)絡(luò)開(kāi)發(fā)中的廣泛應(yīng)用,基本方法及技巧,為學(xué)生綜合運(yùn)用所學(xué)知識(shí),利用軟件工程為基礎(chǔ)進(jìn)行軟件開(kāi)發(fā)、并在實(shí)踐應(yīng)用方面打下一定基礎(chǔ)。1.4 課程設(shè)計(jì)實(shí)驗(yàn)環(huán)境程序運(yùn)行在安裝有windows操作系統(tǒng)的計(jì)算機(jī)上(臺(tái)式機(jī)和筆記本),兼容windows 2K/XP/Vista/7計(jì)算機(jī)硬件要求:CPU:1G;內(nèi)存:512M. ;顯卡:256M顯存;文件播放:需要安裝有聲卡、要求安裝有語(yǔ)音庫(kù)。JAVA程序設(shè)計(jì)語(yǔ)言及相應(yīng)的集成開(kāi)發(fā)環(huán)境,J2SDK和ECLIPSE開(kāi)發(fā)工具。1.5 課程設(shè)計(jì)要求
9、按課程設(shè)計(jì)指導(dǎo)書(shū)提供的課題,要求學(xué)生在自行完成各個(gè)操作環(huán)節(jié),并能實(shí)現(xiàn)且達(dá)到舉一反三的目的,完成一個(gè)項(xiàng)目解決一類問(wèn)題。要求學(xué)生能夠全面、深入理解和熟練掌握所學(xué)內(nèi)容,并能夠用其分析、設(shè)計(jì)和解答類似問(wèn)題;對(duì)此能夠較好地理解和掌握,能夠進(jìn)行簡(jiǎn)單分析和判斷;能編寫出具有良好風(fēng)格的程序;掌握J(rèn)AVA程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?;了解多線程、安全和網(wǎng)絡(luò)等編程技術(shù)。同時(shí)培養(yǎng)學(xué)生進(jìn)行分析問(wèn)題、解決問(wèn)題的能力;培養(yǎng)學(xué)生進(jìn)行設(shè)計(jì)分析、設(shè)計(jì)方法、設(shè)計(jì)操作與測(cè)試、設(shè)計(jì)過(guò)程的觀察、理解和歸納能力的提高。二、課程系統(tǒng)分析2.1 系統(tǒng)分析(1) 創(chuàng)建一個(gè)對(duì)話框類,類名為music類。(2) 向?qū)υ捒蛑刑砑覬Sli
10、der控件、JList控件以及按鈕控件。(3) 設(shè)置所添加的控件的屬性。系統(tǒng)界面的運(yùn)行結(jié)果圖如圖2-1所示:圖2-12.1 功能分析MP3播放器主要對(duì)常用Windows音頻格式的文件實(shí)現(xiàn)播放控制:播放歌曲;單曲循環(huán);停止播放;添加音樂(lè)文件;刪除文件;實(shí)現(xiàn)音頻播放的進(jìn)度;修改音樂(lè)文件;三、系統(tǒng)設(shè)計(jì) 系統(tǒng)功能結(jié)構(gòu)圖音樂(lè)文件播放器的功能結(jié)構(gòu)圖如圖3-1所示:圖3-13.2 模塊功能設(shè)計(jì)“添加”按鈕單擊“添加”按鈕后,在setFileSelectionMode()函數(shù)中,首先對(duì)文件類型進(jìn)行過(guò)濾,調(diào)用accept()函數(shù)打開(kāi)對(duì)話框選擇一個(gè)媒體文件,通過(guò)GetPathName()函數(shù)獲取文件路徑,通過(guò)Ge
11、tFileName()函數(shù)獲取文件名后,調(diào)用GetDlgItem()函數(shù)設(shè)置“暫?!卑粹o以及“停止”按鈕不可用。3.2.2處理“播放”按鈕單擊“播放”按鈕后,在OnButtonPlay()函數(shù)中,通過(guò)調(diào)用MCIMP3類的MCIOpen()函數(shù)獲取剛才選擇的文件路徑以及文件名,調(diào)用該類的MCIPlay()函數(shù)播放歌曲,此時(shí)調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“正在播放的歌曲是(文件名)”,進(jìn)行歌曲的播放,然后利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕不可用。3.2.3 處理“停止”按鈕單擊“停止”按鈕后,在OnButtonStop()函數(shù)中,首先通過(guò)調(diào)用MC
12、IMP3類的MCIPause()函數(shù)停止正在播放的歌曲,然后調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“停止播放歌曲(文件名)”,將停止正在播放歌曲,利用GetDlgItem()函數(shù)設(shè)置“停止”按鈕不可用。3.2.4 處理“單曲循環(huán)”按鈕單擊“單曲循環(huán)”按鈕后在Applet類中調(diào)用newAudioClip()并將選擇的音樂(lè)文件的文件地址和文件名以參數(shù)形式傳給newAudioClip()中。從面而實(shí)現(xiàn)單曲循環(huán)的功能。四、系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)主界面的實(shí)現(xiàn) 界面是保證系統(tǒng)正常運(yùn)行的一個(gè)重要因素,通過(guò)以上系統(tǒng)分析和功能分析系統(tǒng)的最終界面如圖4-1所示:圖4-14.2 系統(tǒng)主要
13、功能實(shí)現(xiàn) 4系統(tǒng)主界面及關(guān)鍵代碼:下面為簡(jiǎn)單音樂(lè)播放器的主界面如圖4-2所示:圖4-2程序主界面 簡(jiǎn)單音樂(lè)播放器主界面的代碼如下:public JLabel shijian;private JSlider sldDiameter;/private JSlider sldYingliang;public AudioClip soumd1;public JButton playSound, loopSound, stopsound;public JButton tjian, shanc, baocun, duqu;public JPanel jp1, jp2, jp3, jp4;public JL
14、ist jl;public Vector vector, mingcheng;boolean fo = false;JLabel jl1, jl2, sj1, sj2;JTextField jt1, jt2;JButton queding, xiugai;int zong = 0;int a = 0, b = 0, you = 0;int fenzhong, miaozhong;public music() super(java簡(jiǎn)單音樂(lè)播放器); Container c = getContentPane(); c.setLayout(new FlowLayout(); mingcheng =
15、new Vector(); jp1 = new JPanel(); shijian = new JLabel(); jp1.add(shijian); c.add(jp1); playSound = new JButton(開(kāi)始播放); loopSound = new JButton(單曲循環(huán)); stopsound = new JButton(停止播放); jp2 = new JPanel(); jp2.add(playSound); jp2.add(loopSound); jp2.add(stopsound); c.add(jp2); jp4 = new JPanel(); sj1 = n
16、ew JLabel(); sj2 = new JLabel(); sldDiameter = new JSlider(SwingConstants.HORIZONTAL, 0, 100, 0); / sldYingliang=new JSlider(SwingConstants.VERTICAL,0,60,0); sldDiameter.setMajorTickSpacing(1); sldDiameter.setPaintTicks(true); jp4.add(sj1); jp4.add(sldDiameter); jp4.add(sj2); / jp4.add(sldYingliang)
17、; c.add(jp4); vector = new Vector(); jl = new JList(mingcheng); jl.setVisibleRowCount(5); jl.setFixedCellHeight(40); jl.setFixedCellWidth(265); jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); c.add(new JScrollPane(jl); tjian = new JButton(添加); shanc = new JButton(刪除); duqu = new JButton(讀取
18、); duqu.setVisible(false); baocun = new JButton(保存); baocun.setVisible(false); jp3 = new JPanel(); jp3.add(tjian); jp3.add(shanc); jp3.add(baocun); jp3.add(duqu); c.add(jp3); try String s = c:music.txt; ObjectInputStream input = new ObjectInputStream( new FileInputStream(s); dizhi a1 = (dizhi) input
19、.readObject(); mingcheng = a1.b; vector = a1.a; jl.setListData(mingcheng); catch (Exception e) 4.2.2添加文件的界面和代碼:添加文件的界面如圖4-3和如圖4-4所示:圖4-3添加文件界面圖4-4添加文件界面添加音樂(lè)文件的界面的主要代碼如下:tjian.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) JFileChooser fileChooser = new JFileCho
20、oser(); / 實(shí)例化文件選擇器 fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); / 設(shè)置文件選擇模式,此處為文件和目錄均可 fileChooser.setCurrentDirectory(new File(.); / 設(shè)置文件選擇器當(dāng)前目錄 fileChooser.setFileFilter(new javax.swing.filechooser.FileFilter() public boolean accept(File file) / 可接受的文件類型 String name = file.
21、getName().toLowerCase(); return name.endsWith(.wav)|name.endsWith(.au)|file.isDirectory(); public String getDescription() / 文件描述 return 音樂(lè)文件(*.wav,*.au); ); if (fileChooser.showOpenDialog(music.this) = JFileChooser.APPROVE_OPTION) / 彈出文件選擇器,并判斷是否點(diǎn)擊了打開(kāi)按鈕 String fileName = fileChooser.getSelectedFile(
22、).getAbsolutePath(); / 得到選擇文件或目錄的絕對(duì)路徑 vector.add(fileName); StringBuffer buffer = daoxu(fileName); mingcheng.add(buffer); 4.2.3 播放音樂(lè)的界面和代碼:播放音樂(lè)的界面如圖4-5所示:圖4-5播放音樂(lè)界面播放音樂(lè)主要代碼如下:playSound.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (jl.getSelectedIndex() = 0) St
23、ring yy = (String) vector.get(jl.getSelectedIndex(); try if (soumd1 != null) soumd1.stop(); a = 0; b = 0; you = 0; soumd1 = Applet.newAudioClip(new File(yy).toURL();/給定 URL 處獲取音頻剪輯 fo = true; String a = fen(yy); sj2.setText(a); soumd1.play(); catch (Exception e1) e1.printStackTrace(); else JOptionPa
24、ne.showMessageDialog(null, 請(qǐng)選擇音樂(lè)文件); 4.2.4 單曲循環(huán)的界面和代碼:?jiǎn)吻h(huán)的界面如圖4-6所示:圖4-6單曲循環(huán)播放界面單曲循環(huán)播放的主要代碼如下: loopSound.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if (jl.getSelectedIndex() = 0) if (soumd1 != null) soumd1.stop(); a = 0; b = 0; you = 0; String yy = (String) ve
25、ctor.get(jl.getSelectedIndex(); try soumd1 = Applet.newAudioClip(new File(yy).toURL(); catch (MalformedURLException e1) e1.printStackTrace(); fo = true; String a = fen(yy); sj2.setText(a); soumd1.loop(); else JOptionPane.showMessageDialog(null, 請(qǐng)選擇音樂(lè)文件); );五、設(shè)計(jì)總結(jié)5.1 設(shè)計(jì)體會(huì)及評(píng)價(jià)JAVA是目前最流行的軟件開(kāi)發(fā)語(yǔ)言之一,稱為網(wǎng)絡(luò)上的
26、“世界語(yǔ)”。JAVA適合開(kāi)發(fā)基于多媒體、與平臺(tái)無(wú)關(guān)、用面向?qū)ο蟮姆椒ㄟM(jìn)行的基于Internet、Intranet、Extranet的Applet和應(yīng)用程序。它具有簡(jiǎn)單高效、面向?qū)ο?、不依賴于機(jī)器結(jié)構(gòu)的特點(diǎn),支持多線程、分布和并發(fā)機(jī)制。用JAVA開(kāi)發(fā)的應(yīng)用軟件在可移植性、健壯性、安全性等方面大大優(yōu)于已存在的其他編程語(yǔ)言。JAVA是一門包含多種知識(shí)的學(xué)科,提供了豐富的類庫(kù),能最大限度地利用網(wǎng)絡(luò)。JAVA可廣泛用于面向?qū)ο蟮氖录枋?、處理面向?qū)ο蟮钠髽I(yè)型的應(yīng)用開(kāi)發(fā),還應(yīng)用于Internet系統(tǒng)管理、Web頁(yè)面設(shè)計(jì)、Internet可視化軟件開(kāi)發(fā)等方面。在學(xué)習(xí)的過(guò)程中我學(xué)到了許多以前沒(méi)有學(xué)到的概念和新
27、鮮資訊。運(yùn)用這些知識(shí)可以完成老師交給我的課程設(shè)計(jì)任務(wù)。這次老師讓我們自己擬訂題目,給了我們很大的想象空間。我選了一個(gè)打字游戲的課程設(shè)計(jì)題目。在接到這個(gè)課程設(shè)計(jì)任務(wù)的時(shí)候,我茫然了,不知道應(yīng)該作些什么,從哪里出發(fā)?;氐綄嬍椅异o靜的思考,整理了一下思緒,又在同學(xué)的幫助下,我有了系統(tǒng)的規(guī)劃。我首先去圖書(shū)館查找資料,找了一些JAVA課程設(shè)計(jì)相關(guān)的書(shū)籍;然后我又上網(wǎng)查找了有關(guān)的圖片和說(shuō)明。最后,在老師的指導(dǎo)和幫助下,在加上自己的努力,一份成功的JAVA課程設(shè)計(jì)終于完成了。JAVA課程設(shè)計(jì)的制作過(guò)程雖然是艱難而辛苦的,但是我卻從中感到了快樂(lè)與欣慰??鞓?lè)是因?yàn)槲乙郧皩?duì)于JAVA的知識(shí)可以說(shuō)是孤陋寡聞,但是通
28、過(guò)這次課程設(shè)計(jì)我使自己的知識(shí)更加的豐富了,加大了自己的知識(shí)面。讓自己的實(shí)力擴(kuò)大了。所以我感到非常的快樂(lè)。欣慰是因?yàn)榭粗约鹤龀龅恼n程設(shè)計(jì)得到了老師的認(rèn)同,取得了成功。這次課程設(shè)計(jì)的整體過(guò)程是充實(shí)而滿足的。JAVA這門課程對(duì)于我們來(lái)說(shuō)是很重要的,很感謝學(xué)校為我們開(kāi)設(shè)了這樣一門課程,豐富了我們的知識(shí)范圍,促使我們的知識(shí)多樣化發(fā)展,使我們的閱歷更加堅(jiān)實(shí)。讓我們?cè)谝院蟮墓ぷ髦杏兴鶓?yīng)用。參考文獻(xiàn)求是科技編著,Delphi 7程序設(shè)計(jì)與開(kāi)發(fā)技術(shù),北京: 人民郵電出版社, 2004年第1版,2004年11月北京第一次印刷;明日科技:李文立, 劉強(qiáng),梁冰編著,Delphi 數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)案例精選,北京: 人民郵電出版社, 2006年5月第一版,2006年5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年食品經(jīng)營(yíng)配送保密條款3篇
- 維護(hù)電梯plc系統(tǒng)課程設(shè)計(jì)
- 2024年電商企業(yè)個(gè)人信息保護(hù)合同
- 2024年虛擬現(xiàn)實(shí)教育平臺(tái)開(kāi)發(fā)與合作協(xié)議
- 戶外燒烤菜單課程設(shè)計(jì)
- 2024年量子通信網(wǎng)絡(luò)建設(shè)施工勞務(wù)合同
- 二零二五年度27所院校合作辦學(xué)項(xiàng)目合同范本3篇
- 二零二五年度個(gè)人信用貸款合同及借條樣本2篇
- 材料制備訓(xùn)練課程設(shè)計(jì)
- 2024年版物流運(yùn)輸合作合同3篇
- 晉升管理制度(30篇)
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
- 南京市2023-2024高一上學(xué)期期末英語(yǔ)試卷及答案
- 《供應(yīng)鏈管理》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 2022更新國(guó)家開(kāi)放大學(xué)電大《生產(chǎn)與運(yùn)作管理》2025-2026期末試題及答案(試卷代號(hào):2617)
- (完整版)保溫工藝課件
- 設(shè)計(jì)驗(yàn)證和生產(chǎn)確認(rèn)[福特FORD]
- 工作場(chǎng)所空氣中有害物質(zhì)監(jiān)測(cè)的采樣規(guī)范課件159-2004
- 合同范本之采購(gòu)合同誰(shuí)保管
- 國(guó)家自然科學(xué)基金進(jìn)展報(bào)告
- 地質(zhì)工作個(gè)人述職報(bào)告三篇
評(píng)論
0/150
提交評(píng)論