版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> Java程序設計課程設計</p><p> 題 目 java音樂播放器 </p><p><b> 學 號:</b></p><p><b> 姓 名: </b></p><p><b> 指導教師:</b><
2、;/p><p><b> 完成時間: </b></p><p><b> 目 錄</b></p><p> 第一章 系統(tǒng)概述3</p><p><b> 1.需求分析3</b></p><p> 1.1任務目的:3</p>
3、<p> 第二章 項目開發(fā)計劃書以及小組人員分工表4</p><p> 2.1 項目開發(fā)計劃書4</p><p> 2.2 小組人員分工表4</p><p> 第三章 總體設計說明4</p><p> 3.1 功能描述4</p><p> 3.4.1 Mp3播放5</p&
4、gt;<p> 3.4.2播放控制5</p><p> 3.4.3播放信息控制5</p><p> 3.4.4 Mp3列表管理5</p><p> 第四章 詳細設計5</p><p><b> 4.1界面設計5</b></p><p> 4.2各個功能描述6&
5、lt;/p><p> 4.2.1.Mp3播放6</p><p> 4.2.2.播放控制6</p><p> 4.2.3.播放信息控制6</p><p> 4.2.4.Mp3文件列表管理6</p><p> 4.2.5.顯示模式6</p><p> 4.2.6.音量控制7<
6、;/p><p> 4.2.7.已播放時間的控制7</p><p><b> 4.3運行環(huán)境7</b></p><p> 4.4程序流程圖8</p><p> 第五章 調試與測試:9</p><p><b> 5.1調試:9</b></p><
7、;p><b> 5.2 測試:9</b></p><p><b> 5.3實驗結果9</b></p><p> 5.4 總結分析10</p><p><b> 參考資料10</b></p><p> 《Java課程設計》心得體會11</p>
8、<p><b> 【摘 要】摘 要</b></p><p> 音樂播放器是一種用于播放各種音樂文件的多媒體播放軟件。它涵蓋了各種音樂格式的播放工具,比如:MP3播放器,WMA播放器,MP4播放器等。它們不僅界面美觀,而且操作簡單,帶你進入一個完美的音樂空間。</p><p> 本系統(tǒng)是一個簡單的Mp3音樂播放器實現(xiàn),旨在借助于java語言的強大的
9、跨平臺特性來實現(xiàn)本播放器的跨平臺的通用。但由于設計時間有限目前僅支持mp3音樂文件的播放。主要使用了Java中的多線程編程,系統(tǒng)中的mp3播放、歌詞解析及顯示、播放時間的顯示控制、播放器的主界面等都是單獨采用一個獨立的線程來進行管理控制的。</p><p> 基于本程序較小,并不需要使用到數(shù)據(jù)庫,java媒體框架(JMF)使你能夠編寫出功能強大的多媒體程序,卻不用關心底層復雜的實現(xiàn)細節(jié)。JMF API的使用相對
10、比較簡單,但是能夠滿足幾乎所有多媒體編程的需求。本程序要求如下:媒體播放器使用Java編寫一個程序實現(xiàn)媒體播放器的功能。此次設計在Microsoft Windows XP系統(tǒng)下,以Java為開發(fā)語言,在eclipse開發(fā)平臺上進行的設計與實現(xiàn)。</p><p> 【關鍵詞】:Java、JMFAPL、播放器</p><p><b> 第一章 系統(tǒng)概述</b><
11、;/p><p><b> 1.需求分析</b></p><p><b> 1.1任務目的:</b></p><p> 1.實現(xiàn)音頻文件的正確播放;</p><p> 2. 能夠實現(xiàn)對音頻播放的控制,如暫停,播放,快進,快退,上一個,下一個等功能;</p><p> 3.
12、能夠進行文件音頻的選擇,全屏,音量的控制,拖動,播放模式的控制等;</p><p><b> 要求掌握:</b></p><p> 掌握Java的語言規(guī)范,面向對象的核心概念和特性。</p><p> 掌握Java的編程技術,包括異常處理,圖形界面設計,多線程,網(wǎng)絡通信程序等。</p><p> 掌握Java應用
13、軟件的開發(fā)環(huán)境和開發(fā)過程</p><p> 掌握基于Jsp網(wǎng)站的開發(fā)環(huán)境和開發(fā)過程</p><p> 掌握面向對象的思想和程序設計方法。</p><p> 1.2程序的設計、調試、運行的軟件環(huán)境:</p><p> 操作系統(tǒng):Windows XP(SP2)</p><p> JDK環(huán)境:Java SE Dev
14、elopment Kit(JDK)Version 6</p><p> 開發(fā)工具:Eclipse3.4.1</p><p> 運行平臺:Windows、Linux各個版本、MAC等任何平臺</p><p> 運行環(huán)境:Java SE Runtime Environment(JRE)Version</p><p> 第二章 項目開發(fā)計劃
15、書以及小組人員分工表</p><p> 2.1 項目開發(fā)計劃書</p><p> 2.2 小組人員分工表</p><p> 第三章 總體設計說明</p><p><b> 3.1 功能描述</b></p><p> 本Mp3播放器主要能夠正確的播放音頻文件,能夠進行播放文件的選擇,文件
16、列表框中陳列選擇的音頻文件,能夠控制音頻的播放,退出,停止,快進,快退,下一個,上一個,音量的控制,靜音控制,全屏選擇,任意改變播放視頻界面大小等功能。</p><p><b> 3.2功能結構圖</b></p><p> 本Mp3音樂播放器的主要功能分為五大模塊,分別是播放控制模塊播放信息控制模塊、Mp3列表管理模塊、以及其他功能模塊。在各個模塊的內(nèi)容如圖3-1
17、所示:</p><p> 3.4各個功能詳細描述</p><p> 3.4.1 Mp3播放</p><p> 此部分為系統(tǒng)的核心部分,主要使用了JavaSoundAPI控制操作系統(tǒng)的音頻系統(tǒng),以音頻系統(tǒng)的音頻輸入輸出流進行Mp3的播放,此部分是播放控制模塊、播放信息控制模塊、歌詞模塊等的運行基礎。</p><p><b>
18、 3.4.2播放控制</b></p><p> 主要進行mp3音樂文件的播放控制,主要包括常見播放器的基本的播放控制功能如停止功能、下一首功能、前一首功能等,包括播放器的播放模式的控制(主要實現(xiàn)了常用的五種播放模式:單曲播放、單曲循環(huán)、循環(huán)播放、隨機播放)。模式播放的控制主要用在mp3處于播放模式控制下的音樂文件播放完成時使用。</p><p> 3.4.3播放信息控制&l
19、t;/p><p> 主要進行當前播放狀態(tài)的控制,如播放是處于播放還是停止狀態(tài)的信息。當前正在播放的mp3的播放時間的顯示控制;</p><p> 3.4.4 Mp3列表管理</p><p> 主要進行系統(tǒng)中mp3列表中音樂文件的維護。主要是對播放列表經(jīng)行控制:播放列表中的文件、從列表中刪除、向列表中添加、清除列表文件等功能。</p><p>
20、;<b> 第四章 詳細設計</b></p><p><b> 4.1界面設計</b></p><p> 整個音樂播放器的界面有菜單欄、列表欄、播放界面、音樂控制臺、顯示播放時間信息欄。具體效果如圖所示:</p><p><b> 4.2各個功能描述</b></p><p&
21、gt; 4.2.1.Mp3播放</p><p> 播放器以java多線程編程設計了播放器的mp3播放,每播放一首新的mp3</p><p> 音樂時都會產(chǎn)生一個獨立的播放線程。在每播放一首新的mp3時,系統(tǒng)會對播放器的狀態(tài)做檢查,如果有正在播放音樂的線程在運行,則首先停止此線程,并重置播放器的狀態(tài)。</p><p> 4.2.2.播放控制</p>
22、<p> 主要功能包括播放、停止播放、下一首播放,播放、前一首播放</p><p> 4.2.3.播放信息控制</p><p> 主要功能包括顯示當前的播放狀態(tài)、當前播放的音樂文件、mp3的歌手、mp3的音頻頻率以及當前mp3播放時間信息的控制和顯示。</p><p> 4.2.4.Mp3文件列表管理</p><p>
23、 本節(jié)主要包括對mp3文件的增加、增加時對音樂文件的檢查(此播放器暫時只支持.mp3)、mp3丈件的刪除以及mp3播放是播放索引的控制和增加刪除mp3文件時mp3顯示的下標索引的控制。</p><p> 4.2.5.顯示模式</p><p> 主要包括完全顯示模式功能和迷你顯示模式功能。</p><p> 4.2.6.音量控制</p><p
24、> 音量控制主要完成控制播放器的音量的大小以及靜音的控制。音量控制按鈕準備設計為一個滑動條,根據(jù)滑動條的滾動實現(xiàn)播放器音量大小的增減。系統(tǒng)在開始時要讀取上次播放器的使用時音量并初始化到播放器的界面上,系統(tǒng)在退出是要對播放器的音量進行保存以便下一次讀取。</p><p> 4.2.7.已播放時間的控制</p><p> 使用一個單獨的線程來控制mp3的已播放時間的統(tǒng)計和顯示,當m
25、p3開始播放是此線程開始運行,當mp3停止播放時,此線程結束。此線程運行期間會首先標記一個mp3的開始播放時間,然后會每0.5秒鐘對已播放的時間進行一次統(tǒng)計計算,并將計算的結果格式化為適當?shù)臅r、分、秒的格式顯示在系統(tǒng)的播放信息控制面板上。</p><p><b> 4.3運行環(huán)境</b></p><p> JMF事件報告機制允許我們的程序響應媒體驅動的錯誤,比如數(shù)
26、據(jù)丟失或資源不可用。事件系統(tǒng)同時也提供了重要的通知協(xié)議;當我們的程序調用一個Player的異步方法時,只有當收到響應的事件消息時,才能確認操作是否完成。</p><p> 有兩種JMF對象會拋出事件,他們是: GainControl對象 和 Controller 對象。 對于事件, GainControl和 Controller 遵循Java Beans 形式。</p><p> Ga
27、inControl對象只拋出一種類型的事件- GainChangeEvent。我們通過實現(xiàn) GainChangeListener interface來響應gain(增益?)的變化。</p><p> Controller則會拋出多種派生自 ControllerEvent的事件。我們通過實現(xiàn) ControllerListener interface 來接收諸如Player的Controller拋出的事件消息。&l
28、t;/p><p> 下圖顯示了Controller拋出的各種事件類型:</p><p> ControllerEvents 可分為三類:改變通知、關閉事件和轉換事件</p><p> 變化通知(Change notification events)諸如 RateChangeEvent 和 DurationUpdateEvent。他們表示Player的一些屬性數(shù)值發(fā)
29、生了變化。這類事件通常是對一些方法調用的回饋。例如, 一個Player的setRate方法被調用,他會拋出一個 RateChangeEvent.</p><p> 轉換事件(TransitionEvents) 讓我們的程序能夠響應Player的狀態(tài)變化。 當Player從一個狀態(tài)轉換到另一個狀態(tài)時,就會拋出一個轉換事件。 (在1.4中,我們會提供更多的關于Player狀態(tài)的信息)</p><
30、p> 當player關閉時,則會拋出關閉事件(ControllerClosedEvents)。當一個Player不再可用時,拋出 ControllerClosedEvent. ControllerErrorEvent(控制器錯誤事件)則是關閉事件的一個特例。我們寫程序時,通過監(jiān)聽控制器錯誤事件,可以對Player故障作出響應,</p><p><b> 4.4程序流程圖</b>&l
31、t;/p><p> 第五章 調試與測試:</p><p><b> 5.1調試:</b></p><p> 調試要根據(jù)Eclipse中出錯的信息以及所導入的javadoc文檔還有一些快捷鍵進行快速調試,通過Eclipse運行平臺自帶的run→Java Application進行運行程序。</p><p><b&g
32、t; 5.2 測試:</b></p><p> 測試過程程中遇到問題:(1)某些用到的類不熟悉,需要查找API (2)沒法運行程序,JMF包如何導入及使用。</p><p><b> 5.3實驗結果</b></p><p> 能夠實現(xiàn)所要求的所有功能,即能夠正確的播放視頻文件,能夠進行播放文件的選擇,文件列表框中陳列選擇的視
33、頻文件,能夠控制視頻的播放,退出,停止,快進,快退,下一個,上一個,音量的控制,靜音控制,全屏選擇,任意改變播放視頻界面大小等功能。</p><p><b> 運行成功效果如圖:</b></p><p><b> 5.4 總結分析</b></p><p> 可以說這么說,本次課程設計綜合考察了我們對Java程序設計知
34、識的掌握熟練程度和實際運用能力。其間,涉及到了Java 中的絕大多數(shù)的知識點,如Java圖形用戶界面設計、Java的異常處理機制、Java中的多線程程序設計、Java輸入輸出流等。當然,這次實驗中最重要的還是通過設計一個視頻播放器來對java media frame有了深層次的掌握和理解,并能夠進行實際的應用。</p><p> 程序實現(xiàn)的關鍵在于功能的合理劃分以及各個包或者類之間的通訊問題,只要分析清楚這兩點
35、,剩下的就是按部就班的寫代碼了。所以設計是關鍵。</p><p> 功能實現(xiàn)了,再就是如何對程序進行性能優(yōu)化的問題。把公用的部分用單獨的類或者是獨立的函數(shù)來實現(xiàn)就可以大大簡化代碼的重復,對程序的理解也有很好的改進。</p><p> 學習Java,一定要循序漸進,要一步一步地進行;</p><p> 總之,作為一門程序設計語言,Java 的學習務必要做到多看多
36、寫多想多請教。</p><p> 多看,看高手、大師的程序,借鑒其解題思路和程序架構;多寫,學習程序設計很重要的就是要自己親自動手寫代碼,切忌犯眼高手低的弊病,而且這樣記憶非常深刻;多想,程序調試中出現(xiàn)一些“莫明其妙”的問題,為什么會這樣而不是那樣;多請教:程序設計說到底是要徹底搞清設計該語言的人的思想,遇到問題想不通應該請教同學、老師等。這樣可達到事半功倍的目的。</p><p>&l
37、t;b> 參考資料</b></p><p> 《Java程序設計之網(wǎng)絡編程》, 李芝興編,清華大學出版社,出版時間2006年3月</p><p> ?。溃〤ay S.Horstmann,Gary Cornell編,《Java2 核心技術第6版:基礎知識》,機械工業(yè)出版社,出版時間 2003年10月</p><p> ?。溃〣ruce Ec
38、kel編,《Java編程思想第2版》,機械工業(yè)出版社,出版時間2002年9月</p><p> 《JMF入門指南》,網(wǎng)絡下載。</p><p> [1]《java課程設計》黃明 梁旭 周紹斌編著,電子工業(yè)出版社出版.</p><p> [2]《java課程設計案例精編》黃曉東編著,中國水利水電出版社出版.</p><p> [3]《j
39、ava程序設計實用教程》張永常主編,電子工業(yè)出版社出版. </p><p> 《Java課程設計》心得體會</p><p> 經(jīng)過一學期的Java課程設計學習,使我對java有了深入的了解,讓我知道了Java是如何使用,如何來開發(fā)系統(tǒng)等等。</p><p> Java的功能比較完善,這使我很有興趣來學習Java,在學習中雖然有很多地方不理解,剛開始時覺得很亂,
40、總是找不到頭緒,讓自己不知所措, 而且在學習中遇到了不少的麻煩,上課的時候總是有一些問題使自己跟不上老師所講的課程,這樣使自己少學了不少的知識,還好學校安排了課程設計這門課,在這個時候我算是又重新學了Java程序設計。在這次課程設計的過程中有很多的地方不會,但通過問老師問同學、和查閱書籍來完成的了。雖然自己遇到了少的困難,但是我很認真的學習,來對待自己。</p><p> 剛開始和同學合作開發(fā)這個俄羅斯方塊作品
41、的時候,存在不少分歧,雖然我們是參照參考書籍來做的,但還是有許多地方不合邏輯,最后通過我們不懈的努力,多次的研究,一一攻破,解決每一個問題,使我們的作品更加的完善。在開發(fā)作品的時候,游戲整體遇到了許多的麻煩,但是通過老師的輔導和同學的幫助使作品逐步完成 。通過這次課程設計讓自己更加了解一下自己,充分的感覺到自身的不足,還有待進一步的學習。在這其中我還學習到了團隊的精神,使我懂得了一個團隊的重要性,一個人的力量終歸沒有一個團隊的力量大。&
42、lt;/p><p> Java的功能是比較強大的,在和同學合作開發(fā)系統(tǒng)的時候還吃了不少的苦頭,因為有很多地方我們還是不懂的,需要去學習,去向別人請教。 </p><p> 本次的系統(tǒng)開發(fā)是模擬軟件開發(fā)過程來實施的。在這其中使我們學習到了軟件開發(fā)所需要的知識,同時讓我們更加了解了現(xiàn)在社會上軟件行業(yè)所需要的知識, 我們在學校里所學的知識遠遠是不夠的,我們要充分利用我們的課余時間來深入學習專業(yè)知
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設計音樂播放器
- 基于java的音樂播放器課程設計報告
- 基于java的音樂播放器的設計課程設計
- 音樂播放器課程設計
- 音樂播放器課程設計 (2)
- 音樂播放器課程設計報告
- eda課程設計—音樂播放器
- 基于java的音樂播放器設計源代碼+實驗報告
- java課程設計---java計算器
- 安卓課程設計報告--個人音樂播放器
- 單片機音樂播放器課程設計報告
- 基于單片機音樂播放器課程設計
- 單片機音樂播放器課程設計報告
- 嵌入式系統(tǒng)課程設計---音樂播放器
- 課程設計(論文)基于fpga的音樂播放器設計
- 基于qt的音樂播放器課程設計報告
- 嵌入式系統(tǒng)課程設計音樂播放器
- android視頻播放器課程設計
- 單片機課程設計——紅外遙控音樂播放器
- 用java構造自己的媒體播放器
評論
0/150
提交評論