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

正文內(nèi)容

畢業(yè)設計-基于java的mp3播放器的設計與實現(xiàn)-展示頁

2025-01-22 02:25本頁面
  

【正文】 Java Sound: JMF 支持更多音頻格式和更多回放功能,但缺少 Java Sound的低層訪問。 Java Media Framework( JMF) 是構建在 Java Sound 之上的一層 。 JMF 還支持廣受歡迎的媒體類型,如 Quicktime、 Microsofts AVI和MPEG1 等。 JMF 技術提供了先進的媒體處理能力,從而擴展了 Java 平臺的功能 。解釋執(zhí)行與高性能的 簡單與面向?qū)ο蟮? 在運行時, Java 編寫的軟件 需要操作系統(tǒng)中安裝有虛擬機,所以程序的發(fā)布相對繁瑣。 C 和 C++語言分配的內(nèi)存空間必須由用戶在不使用的時候進行回收,容易產(chǎn)生內(nèi)存回收不充分的問題,形成內(nèi)存漏洞。而對于不同的 C, C++編譯器,各種 數(shù)據(jù)類型所占用空間有可能不一樣,這種差異會影響程序的可移植性。 Java 的源程序經(jīng)過編譯產(chǎn)生類文件,類文件結構不同于傳統(tǒng)的編譯器生成的二進制文件,必須經(jīng)過虛擬機的解釋才能運行,因此 Java 被認為是一種解釋性語言。不僅如此, C++語言的指針操作允許使用 goto 語句,容易產(chǎn)生歧義的多重繼承等特性也使 C++不能嚴格符合面向?qū)ο蟮乃枷搿?而 C++是不支持動態(tài)綁定的,綁定動作發(fā)生在編譯期而不是執(zhí)行期,所以 C++要實現(xiàn)多臺的效果必須要使用虛函數(shù)。 Java 語音的特性 首先,從面向?qū)ο蟮奶匦詠砜矗?Java是一種完全的面向?qū)ο笤O計語言。面 對 繁多的操作系 統(tǒng) 平臺,一款具有通用性的音 頻 播放軟件 則 是必不可少的。其中數(shù)字音 頻 憑借著其占用存 儲 空 間 小,聲音 質(zhì) 量高的特點 風 靡全球,傳 統(tǒng) 磁 帶 和 CD 所 統(tǒng) 治的半壁江山已 經(jīng) 成 為 了數(shù)字音 頻 的天下。高音質(zhì)播放和 低內(nèi)存消耗是各種媒體播放器所追求的目標。 基于 java 的 mp3 播放器的設計與實現(xiàn) 摘 要 : 隨著計算機和多媒體技術的不斷發(fā)展以及個人計算機的普及,各種各樣的媒體文件、媒體播放器層出不窮,而 MP3( MPEG Audio Layer3)格式以其體積小、音質(zhì)也有保證的特點成為使用最為廣泛的音頻格式,得到了絕大多數(shù)軟件和硬件媒體播放器的支持 ,同時 WAV格式作為無損的音頻格式也獨樹一幟 。如今 , 軟件市場上的媒體播放器 百花齊放,如: MediaPlayer,酷我音樂盒 和 千千靜聽等。 關鍵詞: 音樂播放器 java MVC JMF Ecplise 一、緒 論 背景、目的與意義 隨著 個人 電 腦 的普及 , 多媒體信息的 傳 播和 應 用已 經(jīng) 深入我 們 生活中的各個方面。 當微軟 Windows 的局限性和缺點開始暴露出來的同時,多 樣 化的操作系 統(tǒng)平臺如 Solaris, Linux 以及 MacOS等操作系統(tǒng)各自擁有不俗的表現(xiàn)以及龐大的用戶群。 本音 頻播放軟件采用 Java 語言編寫,旨在利用 Java 的平臺無關性特點,做出一款通用性強、占用空間少卻五臟俱全的音頻播放器。 Java的多態(tài)主要是建立在后期綁定( Late Bingding)或叫動態(tài)綁定( Dynamic Binding)基礎之上的,這樣 Java 先天就具備了對對象類型的自動判斷能力。此外雖然 C++語言支 持封裝和繼承,但多態(tài)仍然是建立在編譯時綁定的基礎上,必須要通過虛函數(shù)實現(xiàn)。 其次, Java 具有絕對的平臺無關性,其使用一種虛擬機作為中間層來屏蔽平臺差異。虛擬機作為中間層負責把編譯好的類文件轉(zhuǎn)換為不同平臺的指令。 此外,在內(nèi)存管理方面, Java 在其虛擬機內(nèi)部實現(xiàn)了垃圾內(nèi)存自動回收功能,能夠自動判斷那些內(nèi)存不再被用戶使用,這樣就讓用戶在系統(tǒng)設計時從繁雜的內(nèi)存管理工作中解脫出來。 然而, Java也有瑕疵,由于是一種解釋型語言,編譯后的 Java 類文件不能直接被操作系統(tǒng)執(zhí)行,需要虛擬機的解釋,因此其效率和 C, C++相比有一定差距??偟恼f來, Java編程語言是 分布式、安全與魯棒的 多線程與動態(tài)執(zhí)行的 二、相關技術簡介 關于 JMF 技術 JMF( Java Media Framework) , Java 媒體架構,是對應 Java 2 平臺標準版 (J2SE)的一種可選用的應用編程接口 ( API) 軟件包,它為音頻和視頻等媒體內(nèi)容的捕獲、回放、傳輸和編碼轉(zhuǎn)換等提供了一個統(tǒng)一的架構。這些功能包括:媒體捕獲、壓縮、流轉(zhuǎn)、回放,以及對各種主要媒體形式和編碼的支持,如 MJPEG、 、 MP RTP/RTSP ( 實時傳送協(xié)議和實時流轉(zhuǎn)協(xié)議 ) 、Macromedias Flash、 IBM 的 HotMedia和 Beatniks 的 Rich Media Format (RMF)等。此外, JMF 軟件中包括了一個開放的媒體架構,可使開發(fā)人員靈活采用各種媒體回放、捕獲組件,或采用他們自己的 定制的內(nèi)插組件。 JMF 實際上將 Java Sound 用于其音頻處理 。另外,標準 JDK 發(fā)行版不包括 JMF而包括 Java Sound。 添加音頻和 MIDI 支持 是輕量級的 通過 Java Sound 的服務供應商接口( SPI)可以進行擴展 JMF: 提供多種媒體格式的同步和控制功能 本身支持許多音頻格式( AIFF、 WAV 等)以及 MPEG 和其它格式 數(shù)據(jù)源( DataSource) 播放器( Player) 數(shù)據(jù)池( DataSink) 管理器( Manager) 數(shù)據(jù)源( DataSource) 在 JMF 中, DataSource對象就是數(shù)據(jù)源,它可以是從采集設備獲得的數(shù)據(jù),也可以是一個多媒體文件,也可以是從互聯(lián)網(wǎng)上下載的數(shù)據(jù)流。當創(chuàng)建了 DataSource 對象后,可以將它送入Player 對象中,而 Player 對象不需要關心 DataSource 中的多媒體是如何獲得的,以及格式是什么 。 MediaLocator 類似于 URL,并 且可以由 URL來構造,即使在沒有安裝相應的協(xié)議處理機制的情況下,也能構造 MediaLocator(在 Java,只有在系統(tǒng)上安裝了 URL 協(xié)議的處理機制的情況下,才能構造一個URL)。 播放器( Player) 如 圖 21 所 示,播放器( Player) 對象將音頻、視頻數(shù)據(jù)流作為輸入,然后將數(shù)據(jù)流輸出到音箱或屏幕上,就像播放器讀取 DV 帶中的數(shù)據(jù),然后將音頻信號送到音箱上,視頻數(shù)據(jù)送到屏幕上一樣。這兩種狀態(tài)是在 Unrealized狀態(tài)之后,在 Realizing 狀態(tài)之前。 Configuring:當調(diào)用 configure( )方法后,處理器對象進入該狀態(tài)。 圖 22 處理器的狀態(tài)轉(zhuǎn)換圖 數(shù)據(jù)池( DataSink) 數(shù)據(jù)池( DataSink) 用來讀取數(shù)據(jù)源( DataSource)的媒體數(shù)據(jù)和輸出到特定的目的地 —— 這里的目的地不同于以上所說的如音箱或屏幕。像 Player 一樣, DataSink 對象以 DataSource 作為參數(shù),通過管理器( Manager)來構造。它并不包括編碼參數(shù)和全局時間信息。 Format 的子類包括 AudioFormat 和 VideoFormat 類, VideoFormat又有六個子類: H261Format、 H263Format、 IndexedColorFormat、 JPEGFormat、RGBFormat 和 YUVFormat類 [4]。在 VideoFormat 中則描述了視頻數(shù)據(jù)的類型如 等。 Manager: Manager 相當于兩個類之間的接口。使用 Manager 對象可以創(chuàng) 建 Player、Processor、 DataSource和 DataSink 對象。 PackageManager:該管理器中保存了 JMF 類注冊信息。 CaptureDeviceManager:該管理器中保存了截取設備的注冊信息。 PlugInManager:該管理器中保存了 JMF 插件的注冊信息。在任何時候,當一個 JMF 對象需要報告當前的狀態(tài),它將發(fā)出一個 MediaEvent 事件 。 對于任何一個能發(fā)送 MediaEvent 的 JMF 對象而言, JMF 都定義了一個相應 的偵聽接口 (listener interface)。 JMF 中的 Controller 對象,例如播放器( Player)和處理器( Processor),以及 Control 對象,例如 GainControl 都可以發(fā)出 MediaEvent 事件。 2.狀態(tài)轉(zhuǎn)變事件可以使你的程序?qū)?Controller對象的狀態(tài)轉(zhuǎn)變作出反應。 3.當 Controller關閉時,它將產(chǎn)生關閉事件。 Event(事件)導致 Controller改變 Model 或 View,或者同時改變兩者。類似的,只要 Controller 改變了 View, View 會從潛在的 Model中獲取數(shù)據(jù)來刷新自己。 流程如圖 31 所示 圖 31 框架流程圖 系統(tǒng)目標 對于 音頻 播放器,必須給用戶提供最簡單的操作和最完善的功能。除了最基本的操作以外,優(yōu)秀的播放器還提供了許多附加 的功能來突出顯示該媒體播放器的特色,例如本播放器的歌詞實時顯示。 用戶界面窗口的控制功能:播放器主窗 口控制、播放列表窗口的控制和歌詞顯示窗口的控制; 媒體文件的管理功能:添加歌曲、添加目錄,刪除歌曲、清空列表、保存列表和裝載列表; 系統(tǒng)功能模塊概要設計 本軟件同樣采用 MVC 的設計模式,做到控制,信息與視圖的相互分離,同時相互間有聯(lián)系緊密,互相調(diào)用,互為條件與依賴。 用戶界面模塊 播放信息模塊 歌詞控制模塊 其相互關系如圖 32 所示: 用戶請求事件 用戶請求事件 視圖信息更新 視圖信息更新 更新信息 信息 更新 讀取 讀取 更新 圖 32 相互關系圖 用戶界面模塊 為了實現(xiàn)軟件產(chǎn)品界面的友好性和簡潔性,同時又要保證功能的完整性,播放器的控制窗口的設計顯得更是不同一般的重要。 于一個小小的窗口,要擺放這么多的控件,如果隨便地放在窗口上的話,將會使窗口十分混亂,影響使用,所以要對其擺放位置進行合理的規(guī)劃。這樣一來,就可以實現(xiàn)軟件產(chǎn)品界面的友好性與簡潔性,條理分明
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1