




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java程序設計課程設計說明書簡單音樂播放器起止日期: 2011年12月6日 至 2012年 1月 4日學生姓名XXX班級軟件工程093班學號成績指導教師計算機與通信學院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 課程設計目的 PAGEREF _Toc312573632 h 1 HY
2、PERLINK l _Toc312573633 1.4 課程設計實驗環(huán)境 PAGEREF _Toc312573633 h 1 HYPERLINK l _Toc312573634 1.5 課程設計要求 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)設計 PAGEREF _Toc312573638 h 4 HYPERLINK l _Toc312573639 3.1 系統(tǒng)功能結構圖 PAGEREF _Toc312573639 h 4 HYPERLINK l _Toc312573640 3.2 模塊功能設計 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)實現(xiàn) PAGEREF _Toc312573645 h 6 HYPERLINK l _Toc312573646 4.1 系統(tǒng)主界面的實現(xiàn) PAGEREF _Toc312573646 h 6 HYPERLINK l _Toc312573647
5、4.2 系統(tǒng)主要功能實現(xiàn) PAGEREF _Toc312573647 h 6 HYPERLINK l _Toc312573648 系統(tǒng)主界面及關鍵代碼: PAGEREF _Toc312573648 h 6 HYPERLINK l _Toc312573649 添加文件的界面和代碼: PAGEREF _Toc312573649 h 9 HYPERLINK l _Toc312573650 4.2.3 播放音樂的界面和代碼: PAGEREF _Toc312573650 h 11 HYPERLINK l _Toc312573651 4.2.4 單曲循環(huán)的界面和代碼: PAGEREF _Toc312573
6、651 h 12 HYPERLINK l _Toc312573652 五、設計總結 PAGEREF _Toc312573652 h 15 HYPERLINK l _Toc312573653 5.1 設計體會及評價 PAGEREF _Toc312573653 h 15 HYPERLINK l _Toc312573654 參考文獻 PAGEREF _Toc312573654 h 16 HYPERLINK l _Toc312573655 致 謝 PAGEREF _Toc312573655 h 17 HYPERLINK l _Toc312573656 課程設計檢查表 PAGEREF _Toc31257
7、3656 h 18一、緒論 課題背景隨著社會電子音樂文件的與日俱增,作為現(xiàn)在最流行的音樂文件*.mp3,*.wav文件的數(shù)量和規(guī)模也在比以往的任何時候要多,不論是電臺DJ需要使用方便而有效地管理自己所使用的音樂文件,還是個人。在計算機日益普及的今天,若采用一套有效的音樂播放器。將自己所收藏的大量的音樂文件能隨時隨地的播放,這將方便于眾用戶聽音樂的需求。通過使用本音樂播放器能為音樂愛好者帶來意想不到的收獲。 課程設計目的JAVA程序設計是計算機相關專業(yè)的必修專業(yè)基礎課程,其實踐性、應用性很強。實踐教學環(huán)節(jié)是必不可少的一個重要環(huán)節(jié)。本課程的程序設計專題實際是計算機相關專業(yè)學生學習完JAVA程序設計
8、課程后,進行的一次全面的綜合訓練,JAVA程序設計的設計目的是加深對理論教學內容的理解和掌握,使學生較系統(tǒng)地掌握程序設計及其在網絡開發(fā)中的廣泛應用,基本方法及技巧,為學生綜合運用所學知識,利用軟件工程為基礎進行軟件開發(fā)、并在實踐應用方面打下一定基礎。1.4 課程設計實驗環(huán)境程序運行在安裝有windows操作系統(tǒng)的計算機上(臺式機和筆記本),兼容windows 2K/XP/Vista/7計算機硬件要求:CPU:1G;內存:512M. ;顯卡:256M顯存;文件播放:需要安裝有聲卡、要求安裝有語音庫。JAVA程序設計語言及相應的集成開發(fā)環(huán)境,J2SDK和ECLIPSE開發(fā)工具。1.5 課程設計要求
9、按課程設計指導書提供的課題,要求學生在自行完成各個操作環(huán)節(jié),并能實現(xiàn)且達到舉一反三的目的,完成一個項目解決一類問題。要求學生能夠全面、深入理解和熟練掌握所學內容,并能夠用其分析、設計和解答類似問題;對此能夠較好地理解和掌握,能夠進行簡單分析和判斷;能編寫出具有良好風格的程序;掌握JAVA程序設計的基本技能和面向對象的概念和方法;了解多線程、安全和網絡等編程技術。同時培養(yǎng)學生進行分析問題、解決問題的能力;培養(yǎng)學生進行設計分析、設計方法、設計操作與測試、設計過程的觀察、理解和歸納能力的提高。二、課程系統(tǒng)分析2.1 系統(tǒng)分析(1) 創(chuàng)建一個對話框類,類名為music類。(2) 向對話框中添加JSli
10、der控件、JList控件以及按鈕控件。(3) 設置所添加的控件的屬性。系統(tǒng)界面的運行結果圖如圖2-1所示:圖2-12.1 功能分析MP3播放器主要對常用Windows音頻格式的文件實現(xiàn)播放控制:播放歌曲;單曲循環(huán);停止播放;添加音樂文件;刪除文件;實現(xiàn)音頻播放的進度;修改音樂文件;三、系統(tǒng)設計 系統(tǒng)功能結構圖音樂文件播放器的功能結構圖如圖3-1所示:圖3-13.2 模塊功能設計“添加”按鈕單擊“添加”按鈕后,在setFileSelectionMode()函數(shù)中,首先對文件類型進行過濾,調用accept()函數(shù)打開對話框選擇一個媒體文件,通過GetPathName()函數(shù)獲取文件路徑,通過Ge
11、tFileName()函數(shù)獲取文件名后,調用GetDlgItem()函數(shù)設置“暫停”按鈕以及“停止”按鈕不可用。3.2.2處理“播放”按鈕單擊“播放”按鈕后,在OnButtonPlay()函數(shù)中,通過調用MCIMP3類的MCIOpen()函數(shù)獲取剛才選擇的文件路徑以及文件名,調用該類的MCIPlay()函數(shù)播放歌曲,此時調用DisplayInfo()函數(shù)在Static Text控件上顯示“正在播放的歌曲是(文件名)”,進行歌曲的播放,然后利用GetDlgItem()函數(shù)設置“播放”按鈕不可用。3.2.3 處理“停止”按鈕單擊“停止”按鈕后,在OnButtonStop()函數(shù)中,首先通過調用MC
12、IMP3類的MCIPause()函數(shù)停止正在播放的歌曲,然后調用DisplayInfo()函數(shù)在Static Text控件上顯示“停止播放歌曲(文件名)”,將停止正在播放歌曲,利用GetDlgItem()函數(shù)設置“停止”按鈕不可用。3.2.4 處理“單曲循環(huán)”按鈕單擊“單曲循環(huán)”按鈕后在Applet類中調用newAudioClip()并將選擇的音樂文件的文件地址和文件名以參數(shù)形式傳給newAudioClip()中。從面而實現(xiàn)單曲循環(huán)的功能。四、系統(tǒng)實現(xiàn)4.1 系統(tǒng)主界面的實現(xiàn) 界面是保證系統(tǒng)正常運行的一個重要因素,通過以上系統(tǒng)分析和功能分析系統(tǒng)的最終界面如圖4-1所示:圖4-14.2 系統(tǒng)主要
13、功能實現(xiàn) 4系統(tǒng)主界面及關鍵代碼:下面為簡單音樂播放器的主界面如圖4-2所示:圖4-2程序主界面 簡單音樂播放器主界面的代碼如下: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簡單音樂播放器); 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(開始播放); 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添加文件界面添加音樂文件的界面的主要代碼如下:tjian.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) JFileChooser fileChooser = new JFileCho
20、oser(); / 實例化文件選擇器 fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); / 設置文件選擇模式,此處為文件和目錄均可 fileChooser.setCurrentDirectory(new File(.); / 設置文件選擇器當前目錄 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 音樂文件(*.wav,*.au); ); if (fileChooser.showOpenDialog(music.this) = JFileChooser.APPROVE_OPTION) / 彈出文件選擇器,并判斷是否點擊了打開按鈕 String fileName = fileChooser.getSelectedFile(
22、).getAbsolutePath(); / 得到選擇文件或目錄的絕對路徑 vector.add(fileName); StringBuffer buffer = daoxu(fileName); mingcheng.add(buffer); 4.2.3 播放音樂的界面和代碼:播放音樂的界面如圖4-5所示:圖4-5播放音樂界面播放音樂主要代碼如下: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, 請選擇音樂文件); 4.2.4 單曲循環(huán)的界面和代碼:單曲循環(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, 請選擇音樂文件); );五、設計總結5.1 設計體會及評價JAVA是目前最流行的軟件開發(fā)語言之一,稱為網絡上的
26、“世界語”。JAVA適合開發(fā)基于多媒體、與平臺無關、用面向對象的方法進行的基于Internet、Intranet、Extranet的Applet和應用程序。它具有簡單高效、面向對象、不依賴于機器結構的特點,支持多線程、分布和并發(fā)機制。用JAVA開發(fā)的應用軟件在可移植性、健壯性、安全性等方面大大優(yōu)于已存在的其他編程語言。JAVA是一門包含多種知識的學科,提供了豐富的類庫,能最大限度地利用網絡。JAVA可廣泛用于面向對象的事件描述、處理面向對象的企業(yè)型的應用開發(fā),還應用于Internet系統(tǒng)管理、Web頁面設計、Internet可視化軟件開發(fā)等方面。在學習的過程中我學到了許多以前沒有學到的概念和新
27、鮮資訊。運用這些知識可以完成老師交給我的課程設計任務。這次老師讓我們自己擬訂題目,給了我們很大的想象空間。我選了一個打字游戲的課程設計題目。在接到這個課程設計任務的時候,我茫然了,不知道應該作些什么,從哪里出發(fā)。回到寢室我靜靜的思考,整理了一下思緒,又在同學的幫助下,我有了系統(tǒng)的規(guī)劃。我首先去圖書館查找資料,找了一些JAVA課程設計相關的書籍;然后我又上網查找了有關的圖片和說明。最后,在老師的指導和幫助下,在加上自己的努力,一份成功的JAVA課程設計終于完成了。JAVA課程設計的制作過程雖然是艱難而辛苦的,但是我卻從中感到了快樂與欣慰??鞓肥且驗槲乙郧皩τ贘AVA的知識可以說是孤陋寡聞,但是通
28、過這次課程設計我使自己的知識更加的豐富了,加大了自己的知識面。讓自己的實力擴大了。所以我感到非常的快樂。欣慰是因為看著自己做出的課程設計得到了老師的認同,取得了成功。這次課程設計的整體過程是充實而滿足的。JAVA這門課程對于我們來說是很重要的,很感謝學校為我們開設了這樣一門課程,豐富了我們的知識范圍,促使我們的知識多樣化發(fā)展,使我們的閱歷更加堅實。讓我們在以后的工作中有所應用。參考文獻求是科技編著,Delphi 7程序設計與開發(fā)技術,北京: 人民郵電出版社, 2004年第1版,2004年11月北京第一次印刷;明日科技:李文立, 劉強,梁冰編著,Delphi 數(shù)據庫系統(tǒng)開發(fā)案例精選,北京: 人民郵電出版社, 2006年5月第一版,2006年5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省南京鼓樓區(qū)29中學集團校2025屆初三下九月月考物理試題含解析
- 遼寧省沈陽市法庫縣東北學區(qū)2025屆三下數(shù)學期末教學質量檢測試題含解析
- 云南省云南大附屬中學2025年初三第四次中考適應性考試(4月)物理試題含解析
- 交易促成合同七
- 山西省臨汾市2025屆初三下期末質量監(jiān)測物理試題含解析
- 江蘇省鹽城射陽縣聯(lián)考2025屆初三年級第二次調研考試英語試題含答案
- 工業(yè)區(qū)消防施工合同樣本2025
- 企業(yè)經營借款合同轉讓協(xié)議
- 臨時合同工的勞動合同格式
- 合同管理培訓會
- 員工廉潔自律行為規(guī)范
- 華為管理手冊-新員工培訓
- 豬場轉讓合同范本
- (二模)石家莊市2025屆高三教學質量檢測(二)生物試卷(含標準答案)
- 2025年安陽職業(yè)技術學院單招職業(yè)技能測試題庫必考題
- (一模)2025年廣州市普通高中畢業(yè)班綜合測試(一)物理試卷(含答案詳解)
- 有關電除顫的試題及答案
- 2025年入團考試練習試題(100題)附答案
- 2025北京外國語大學輔導員考試題庫
- 車床、鉆床安全風險辨識清單
- BLM(含樣例)(培訓調研)課件(PPT 121頁)
評論
0/150
提交評論