freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于java的mp3播放器jmplayer-資料下載頁(yè)

2024-12-04 01:00本頁(yè)面

【導(dǎo)讀】論文中引用他人的文獻(xiàn)、數(shù)據(jù)、圖件、資料,均已在論文中加以說(shuō)。明,除此之外,本論文不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)的成果作品。本文研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中作了明確說(shuō)明并表示了謝意。本聲明的法律結(jié)果由本人承擔(dān)。全部或部分內(nèi)容,可以采用影印、掃描等復(fù)制手段保存本論文。

  

【正文】 端 口 端 口M i x e r 混 頻 器 M i x e r 混 頻 器T a r g e t D a t a L i n eS o u r c e D a t a L i n e C l i p應(yīng) 用 軟 件 圖 53 JavaSound 音頻處理流程圖 3. PlayerFrame 類 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 21 主要用于 Mp3播放器的外觀顯示,各種控制按鈕、音量控制滾動(dòng)條、播放模式面板、皮膚切換面板、歌詞面板、 mp3列表面板都在此進(jìn)行定義和管理。本類以播放器的功能設(shè)計(jì)點(diǎn)為單位,逐步進(jìn)行各個(gè)模塊的初始化或加載。 4. Mp3FileController 類 主要用于對(duì) mp3 列表內(nèi)的 mp3 文件的管理,包括播放器啟動(dòng)是的初始化和播放器退出時(shí)的對(duì) mp3 列表中數(shù)據(jù)的同步存儲(chǔ)。此類會(huì)使用 Java 的 io 流和Properties 的 load()方法 store()方法相配合進(jìn)行對(duì)數(shù)據(jù)的讀寫(xiě)。 5. LyricsParser 類 主要用于根據(jù) mp3 進(jìn)行相應(yīng)的 lrc 格式的歌詞文件的查找、解析。此類首先到系統(tǒng)的歌詞目錄 (lyrics)下查找對(duì)應(yīng)的歌詞文件,查找成功后會(huì)使用 Java 的 IO流讀取歌詞文件,并將歌詞文件中的時(shí)間戳和歌詞以 keyvalue 鍵值對(duì)的形式存放到 Properties 中,返回給播放器。 6. LyricsShowThread 類 歌詞顯示控制線程類,由 Mp3Player 類控制的在 mp3 播放時(shí)用于歌詞顯示控制的獨(dú)立線程類。 7. PlayTimeControlThread 類 由于 mp3已播放時(shí)間顯示控制的獨(dú)立線程類。此線程會(huì)標(biāo)記 mp3的開(kāi)始時(shí)間,用于以后的時(shí)間統(tǒng)計(jì)。 8. Mp3Info 類 Mp3信息實(shí)體類,定義與 mp3相關(guān)的信息,包括 mp3名 、 mp3文件路徑 、 哥曲名 、 藝術(shù)家名 、 專輯名 、 年份 、 播放頻率 等。 9. PlayMode 類 定義了系統(tǒng)的播放模式, 是播放模式的抽象父類。包括它的 5個(gè)子類用來(lái)表示系統(tǒng)的播放模式。其類結(jié)構(gòu)如圖 54所示 圖 54 JMPlayer播放模式類圖 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 22 10. PlayerConstants 類 播放器的常量類,定義了相關(guān)操作級(jí)配置的常量。如播放器的大小,顯示位置、播放器的歌詞目錄、皮膚目錄等等。 系統(tǒng)類結(jié)構(gòu) 本系統(tǒng)的類結(jié)構(gòu)如圖 55 所示 圖 55JMPlayer 系統(tǒng)類結(jié)構(gòu)圖 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 23 第六章 軟件功能實(shí)現(xiàn) 播放 Mp3 實(shí)現(xiàn) 本系統(tǒng)中 mp3 的播放主要采用了 JavaSoundAPI 實(shí)現(xiàn),以 JavaSound 的AudioSystem 類為主。首先由 AudioSystem來(lái)獲得系統(tǒng)的音頻輸入流,在獲得音頻輸入流成功的前提下,重置輸入流的音頻格式,并以此重置的音頻輸入流格式來(lái)獲得系統(tǒng)的音 頻 line,獲得音頻 line 成功后,將 mp3 文件以字節(jié)流的形式循環(huán)讀取,并注入到音頻輸出流中,直到 mp3 文件字節(jié)碼讀取完成,以此便實(shí)現(xiàn)了音樂(lè)播放。 Mp3 文件解析實(shí)現(xiàn) 每個(gè) mp3 文件的后 128字節(jié)用于保存了與此 mp3 相關(guān)的信息,首先使用 java的隨機(jī)文件讀寫(xiě) RandomAccessFile 來(lái)進(jìn)行文件字節(jié)位置的跳躍,跳躍的位置為文件 的長(zhǎng)度 128,此字節(jié)碼位置即為 mp3 信息的開(kāi)始位置,如果前三個(gè)字節(jié)為 ” TAG” 則說(shuō)明此 mp3 文件保存了與 mp3 相關(guān)的信息,即可進(jìn)行讀取, 330字節(jié)碼位置保存的是 mp3 的歌名, 3330 保存的是 mp3 的藝術(shù)家, 6330 保存的為 mp3 的專輯, 934字節(jié)碼位置保存的為 mp3 的年份,所有與 mp3 相關(guān)的信息讀取完成后,將其封裝為系統(tǒng)中已定義好的 mp3Info 實(shí)體類,返回給播放器。便實(shí)現(xiàn)了 mp3 文件的解析。 Mp3 列表控制類實(shí)現(xiàn) Mp3 文件列表控制類主要使用了 java 的 list 集合和 Properties 集合 ,系統(tǒng)使用 文件保存系統(tǒng)中 mp3 列表中的 mp3 文件,保存形式為 mp3 絕對(duì)路徑 =mp3 名。在播放器啟動(dòng)時(shí),本類首先使用 Properties 類的 load 方法,以 構(gòu)造輸入流,完成對(duì) 文件的讀取,并以此 mp3 數(shù)據(jù)集合初始化播放器的 mp3 文件列表。在整個(gè)播放器的運(yùn)行期間所有對(duì) mp3 列表中數(shù)據(jù)的操作都是在系統(tǒng)的 ListMp3Info集合上進(jìn)行的,而不是每次對(duì) mp3 列表中文件的操作都進(jìn)行數(shù)據(jù)文件的讀取操作,此功能 即為緩存的功能,極大的提高了播放器的性能。最后在播放器退出時(shí),系統(tǒng)使用 文件構(gòu)造輸出流,將系統(tǒng)中 ListMp3Info中的數(shù)據(jù)同步寫(xiě)回 文件中,以備下一次的讀取。 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 24 Mp3 歌詞解析及顯示控制實(shí)現(xiàn) 1. 歌詞解析 在播放 mp3 時(shí)系統(tǒng)首先會(huì)到 lyrics 目錄下查找與正在播放的 mp3 對(duì)應(yīng)的歌詞文件歌名 .lrc, 如果找到則進(jìn)行解析。歌詞解析使用 java 的 BufferReader 類,首先以找到的文件構(gòu)造文件數(shù)據(jù)流,然后對(duì)歌詞文件進(jìn)行逐行讀取。因?yàn)?歌詞文件的形式為 [分 ::秒.微妙 ],在讀取出每一行后,利用 java 的正則表達(dá)式進(jìn)行匹配,在此正則表達(dá)式中已經(jīng)定義了有效的時(shí)間格式,將讀取出來(lái)的每行數(shù)據(jù)進(jìn)行匹配,如果匹配成功則將時(shí)間點(diǎn)作為 key,時(shí)間點(diǎn)的歌詞作為 value 放到 properties文件中,歌詞文件讀取完成后將此 Properties 集合類返回給主播放器控制類。 系統(tǒng)使用一個(gè)獨(dú)立的線程控制 mp3 歌詞的顯示,播放器的主控制類首先判斷是否有與當(dāng)前播放的 mp3 對(duì)應(yīng)的歌詞,如果有則此歌詞顯示控制線程隨著 mp3播放的開(kāi)始同時(shí)啟動(dòng), 此 線程在運(yùn)行時(shí)首先保存一個(gè) mp3 開(kāi)始播放的時(shí)間點(diǎn),然后每間隔 秒做一次時(shí)間的統(tǒng)計(jì),即使用當(dāng)前時(shí)間點(diǎn) 開(kāi)始時(shí)間點(diǎn)得出的總毫秒數(shù),由此總毫秒在分別轉(zhuǎn)換為分:秒形式的字符串格式,并到歌詞文件集合中查找,如果查找成功則在播放器的歌詞面板中顯示對(duì)應(yīng)時(shí)間點(diǎn)的歌詞。 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 25 結(jié)束語(yǔ) 通過(guò)幾個(gè)月的努力,終于完成了基于 java 的音樂(lè)播放器 JMPlayer 的設(shè)計(jì)和開(kāi)發(fā)。 通過(guò)對(duì)這一段時(shí)間的回顧 我發(fā)現(xiàn),像類似于這種的產(chǎn)品性質(zhì)的開(kāi)發(fā),整體來(lái)說(shuō)對(duì)設(shè)計(jì)的要求是非常高的,要求軟件有很高的可擴(kuò)展性和可 維護(hù)性。我在軟件開(kāi)發(fā)和設(shè)計(jì)的過(guò)程中對(duì)一些設(shè)計(jì)思想性的東西有了更進(jìn)一步的了解,比如在此播放器中最核心的一個(gè)模式就是 GOF 的中介者模式,還有其它部分的策略模式、觀察者模式等;另外,我認(rèn)為類的本身及其中的方法和命名也是非常的重要的。整個(gè)項(xiàng)目完成我總結(jié)了兩點(diǎn): 1. 開(kāi)發(fā)規(guī)范 剛開(kāi)始編寫(xiě)代碼的階段沒(méi)太在意這個(gè)問(wèn)題,造成項(xiàng)目中的方法名字、變量的名字五花八門,導(dǎo)致在維護(hù)的時(shí)候很吃力,到后來(lái)不得不制定出一套開(kāi)發(fā)規(guī)范并嚴(yán)格執(zhí)行。 2. 項(xiàng)目的整體設(shè)計(jì) 因?yàn)榇隧?xiàng)目本身就包含很多的不確定的因素,在開(kāi)發(fā)過(guò)程中經(jīng)常出現(xiàn)一些改動(dòng),由 于在設(shè)計(jì)上欠缺功力在每次增加新功能和修改已用功能的時(shí)候都能搞的一團(tuán)亂,所以個(gè)人感覺(jué)這是我以后的一個(gè)重點(diǎn)的學(xué)習(xí)的方向。 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 26 參考文獻(xiàn) [1] 結(jié)成浩. JAVA 多線程設(shè)計(jì)模式 [M].第 1 版.北京:中國(guó)鐵道出版社, 2021. 177185 [2] 秦小波.設(shè)計(jì)模式之禪.第 1 版北京: 機(jī)械工業(yè)出版社 , 2021. 5682 [3] 馬丁.重構(gòu) 改善既有代碼的設(shè)計(jì) [M]. 第 1 版. 候捷. 北京:中國(guó)電力出版社,2021. 1279 [4] 劉亞賓 . 精通 Eclipse[M]. 第 1 版 . 北京: 電子工業(yè)出版社 , 2021. 1020 [5] 湯小丹等.計(jì)算機(jī)操作系統(tǒng) [M]. 第 3版 . 西安 :西安電子科技大學(xué)出版社, [6] 海瑞 .JAVA線程 [M].第 3版 . 臺(tái)灣:東南出版社, 2021. 127203 [7] 布魯斯. JAVA 編程思想 [M]. 第 4 版. 陳昊鵬. 北京: 機(jī)械工業(yè)出版社 ,2021. 200400 [8] 劉中兵 . JAVA高手真經(jīng) [M] 第 1 版 .北京 :電子業(yè)出版社 ,2021. 136248 [9] 林智楊.精通 JAVA Swing程序設(shè)計(jì) [M]. 第 1版.北京 : 中國(guó)鐵道出版社 , 2021. 100152 [10] 王鵬等. Java Swing 圖形界面開(kāi)發(fā)與案例詳解 [M]. 第 1 版. 北京:清華大學(xué)出版社,2021. 123128 [11] 格林. JAVA核心技術(shù) [M]. 第 7版.葉乃文.北京 : 機(jī)械工業(yè)出版社 , 2021. 100152 [12] Kent Back. TestDriven Development By Example. Addison Wesley. July14,2021. 26156 山東輕工業(yè)學(xué)院 2021屆本科生畢業(yè)設(shè)計(jì) (論文 ) 27 致 謝 經(jīng)過(guò)幾個(gè)月的努力我的畢業(yè)設(shè)計(jì)已經(jīng)完成。在畢業(yè)設(shè)計(jì)完成之際,我要特別感謝我的指導(dǎo)老師任曉強(qiáng)老師的熱情關(guān)懷和悉心指導(dǎo)。在我做設(shè)計(jì)的過(guò)程中,老師傾注了大量的心血和汗水,無(wú)論是在設(shè)計(jì)的選題、構(gòu)思和資料的收集方面,還是在論文的撰寫(xiě)過(guò)程中我都得到了老師悉心細(xì)致的教誨和無(wú)私的幫助。特別是他廣博的學(xué)識(shí)、深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)使我終生受益,在此表示真誠(chéng)地感謝和深深的謝意。 在設(shè)計(jì)的開(kāi)發(fā)過(guò)程中,也得到了許多同學(xué)的寶貴建議,在此向他們表示感謝,感謝他們一直以來(lái)對(duì)我的關(guān)心和幫助,向大學(xué)四年一 起生活得舍友們,同學(xué)們深表感謝,感謝你們對(duì)我的關(guān)心和幫助。 同時(shí)我也要感謝所有在系統(tǒng)開(kāi)發(fā)過(guò)程中幫助過(guò)我的同學(xué)和一些不知名的熱心網(wǎng)友。 謝謝你們把知識(shí)傳授給我。 感謝父母一直以來(lái)對(duì)我的支持和關(guān)愛(ài),感謝所有關(guān)心、支持、幫助過(guò)我的良師益友。 最后,我要感謝的是我的母校山東輕工業(yè)學(xué)院,向在百忙中抽出時(shí)間對(duì)本設(shè)計(jì)進(jìn)行評(píng)審并提出寶貴意見(jiàn)的答辯組的老師表示衷心地感謝。 t gKQcWA3Pt GZ7R4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm 32WGeaUwYDI AWGMeR4I30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GZ7R4I 30kA1DkaGt gKQcWA3Pt GZ7R4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm32WGeaUwYDI AWGMeR4I30kA1DkaGhn3Xt KknBYCUDxqA7 FHYi 2CHhI 92t gKQcWA3Pt GZ7R4I 30kA1DkaGt gKQcWA3Pt GZ7R4I30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm32WGeaUwYDI AWGeR4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GZ7R4I 30kA1DkaGt gKQcWA3Pt GZ7R4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm 32WGeaUwYDI AWGMeR4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GZ7R4I30kA1DkaGtgKQcWA3Pt GZ7R4I 30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm 32WGeaUwYDI AWGMeR4I30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3PtGZ7R4I 30kA1DkaGt gKQcWA3Pt GZ7R4I30kA1DkaGhn3Xt KknBYCUDxqA7FHYi 2CHhI 92t gKQcWA3Pt GshLs50cLm TWN60eo8Wgqv7XAv2OHUm 32WG
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1