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

正文內(nèi)容

基于android的視頻播放器的設(shè)計與實現(xiàn)畢業(yè)論文-文庫吧資料

2025-07-04 00:41本頁面
  

【正文】 Button 時,由 MediaplayerActivity 跳轉(zhuǎn)到此 Activity,并根據(jù)用戶操作來完成添加視頻文件的操作。該 Activity 引用的是 布局文件。合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文13第六行中:六個 ImageButton 控件,分別為play,pause,reset,stop,last,next,即播放按鈕,暫停按鈕,重置按鈕,停止按鈕,上一個按鈕,下一個按鈕。第四行中:兩個 TextView 分別用來顯示當(dāng)前正雜播放的視頻的時間信息,前者顯示當(dāng)前播放時間長度,后者顯示視頻文件的最大時間長度。SurfaceView 用來將視頻畫面投放到手機屏幕上,而 ImageView 用來顯示視頻是否處于播放狀態(tài)。當(dāng)我們加大或者減小音量時,該進(jìn)度條會相應(yīng)的發(fā)生變化。然后是 ImageButton 控件,這里添加一個聲音的小圖標(biāo)。第二行中:TextView,文本視圖控件。按下此按鈕之后,手機屏幕將顯示 SDCard 中文件列表,通過瀏覽不同路徑,添加所需的視頻文件至視頻列表中。關(guān)于視頻文件的列表的顯示,在MediaListActivity 中實現(xiàn)。合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文12圖 32 MediaplayerActivity 控件分布第一行中:CheckButton,查看列表按鈕。如圖 31 所示。每一個 Activity 實現(xiàn)相應(yīng)部分的功能,每一個 Activity 的布局文件。當(dāng)播放視頻文件時,視頻名稱、視頻時間長度等信息顯示在屏幕相應(yīng)位置。一般,當(dāng)手機中存放的視頻文件過多,但對于新添加的視頻文件位置很清楚時,選擇手都添加比較好。在智能搜索設(shè)計中,通過 mediascanner 進(jìn)行 sdcard 中的所有視頻文件的掃描,包括自動搜索和手動添加。(3) 能夠智能搜索出所有 android sdcard 中的視頻文件。這樣,也就能夠不需要將視頻文件放在一個系統(tǒng)固定的位置,您可以自己新建一個存放視頻文件的文件夾,放在任何你想要放的地方。(2) 能夠在手機里面定位視頻文件。手機一般不會支持對解碼要求太高的格式,如 rmvb。 系統(tǒng)需求分析根據(jù)分析需求,這個系統(tǒng)必須實現(xiàn)以下的功能:(1) 實現(xiàn)手機支持的視頻格式文件的播放功能。(3)法律可行性:因為是自主開發(fā)設(shè)計,所以不會構(gòu)成侵權(quán),在法律上是可行的。(2)運行可行性:該系統(tǒng)需要 Android 虛擬機環(huán)境,Eclipse 中安裝 ADT,DDMS 等Google Android 相關(guān)插件。這樣看起來三者之間的關(guān)系就清楚了很多 [9]。從設(shè)計模式的高度來看,Surface、SurfaceView 和 SurfaceHolder 實質(zhì)上就是廣為人知的MVC,即 ModelViewController。s underlying surface) ,它通過三個回調(diào)方法,讓我們可以感知到 Surface 的創(chuàng)建、銷毀或者改變。(3)SurfaceHolderSurfaceHolder 是一個接口,其作用就像一個關(guān)于 Surface 的監(jiān)聽器??吹?Parcelable 就讓人能很自然地想到數(shù)據(jù)容器,SurfaceView 就是用來展示 Surface 中的數(shù)據(jù)的。事實上,在 Android 中所有用于界面展示的類皆為 View 的子類,包括那些不可見的、各種各樣的 Layout。由此來說,SurfaceView 中的 View 之確切的含義應(yīng)該是 viewport 即“視口”的意思,類似數(shù)據(jù)庫的設(shè)計,假定一個數(shù)據(jù)表有 20 個字段,但我們常常只用到其中的 5 個字段,那么就可以在原數(shù)據(jù)表的基礎(chǔ)上,通過 SQL 語句 CREATEVIEW 來創(chuàng)建只包含那 5 個字段內(nèi)容的 view。所以,Surface 中的 Canvas 成員,是專門用于供程序員畫圖的場所,就像黑板一樣;其中的原生緩沖器是用來保存數(shù)據(jù)的地方;Surface 本身的作用類似一個句柄,得到了這個句柄就可以得到其中的 Canvas、原生緩沖器以及其它方面的內(nèi)容 [3]。根據(jù) Java 方面的常規(guī)知識,我們知道通常畫圖是在一個 Canvas 對象上面進(jìn)行的,由此,可以推知一個 Surface 對象中應(yīng)該包含有一個 Canvas 對象,事實上的確如此,而且這一點可以很容易通過 debug 運行程序的方式得到證明。就像在 C 語言中,可以通過一個文件的句柄,就可以獲得文件的內(nèi)容一樣;原生緩沖器(rawbuffer)是用于保存當(dāng)前窗口的像素數(shù)據(jù)的。 Surface、 SurfaceView、SurfaceHolder 三者之間的關(guān)系(1) SurfaceSurface 就是“表面”的意思。一旦調(diào)用了該方法,說明這個MediaPlayer 對象進(jìn)入了 PlaybackCompleted 狀態(tài)。如果調(diào)用 setlooping(boolean)方法開啟了循環(huán)模式,那么這個 MediaPlayer 對象會重新進(jìn)入 Started 狀態(tài)。此外,當(dāng)前的音頻/ 視頻播放位置,實際上可以調(diào)用 getCurrentPosition()方法來得到,它可以幫助播發(fā)器的應(yīng)用程序不斷更新播放進(jìn)度。當(dāng)實際的定位操作完成之后,內(nèi)部播放引擎會調(diào)用程序提供的 OnSeekComplete()回調(diào)方法。合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文8調(diào)用 seekTo()方法可以調(diào)整播放的位置。調(diào)用 stop()方法會停止播放,并且還會讓一個處于 Started、Paused、Prepared 狀態(tài)的MediaPlayer 對象進(jìn)入 Stopped 狀態(tài)。注意 Started 狀態(tài)和 Paused 狀態(tài)的相互轉(zhuǎn)換在內(nèi)部播放引擎中是異步的。播放可以被暫停、停止,以及調(diào)整當(dāng)前的播放位置。當(dāng)方法返回成功時, MediaPlayer 對象應(yīng)當(dāng)處于Started 狀態(tài)。調(diào)用 prepareAsync()方法(異步) ,此方法返回表示 MediaPlayer 對象進(jìn)入 Preparing 狀態(tài)并返回,而內(nèi)部的播放引擎繼續(xù)未完成的準(zhǔn)備工作。在此有兩種方法(同步和異步)可以實現(xiàn)。若此時 MediaPlayer 對象處于其他狀態(tài)下,調(diào)用setDataSource()方法會拋出 IllegalStateException 異常。在不合法的狀態(tài)下調(diào)用一些方法,如 prepare()、prepareAsync()和 setDataSource()方法等會拋出IllegalStateException 異常。為了重用一個處于 Error 狀態(tài)的 MediaPlayer 對象,可以調(diào)用 reset()方法把這個對象恢復(fù)成 Idle 狀態(tài)。程序可以通過調(diào)用 ()方法來注冊 OnErrorListener。有時,由于編程的錯誤,在處于無效狀態(tài)的情況下調(diào)用了一個播放控制操作可能發(fā)生。在一般情況下,由于種種原因,一些播放控制操作可能會失敗,如不支持視頻格式,缺少隔行掃描,分辨率過高,流超時等等。此外,使用 new 創(chuàng)建的 MediaPlayer 對象處于 Idle 狀態(tài),而那些通過重載的 create()便利方法創(chuàng)建 的 MediaPlayer 對象卻不是處于 Idle 狀態(tài)。資源可能包括如硬件加速組件的單態(tài)組件,若沒有調(diào)用 release()方法可能會導(dǎo)致之后 dMediaPlayer 對象實例無法使用這個單態(tài)硬件資源,從而運行失敗。當(dāng)一個 MediaPlayer 對象處于剛被創(chuàng)建的時候,內(nèi)部的播放引擎和對象的狀態(tài)都沒有改變,在這個時候調(diào)用以上方法,框架將無法回調(diào)客戶端程序注冊的()方法;但若這個 MediaPlayer 對象調(diào)用了 reset()方法之后,再調(diào)用以合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文6上方法,內(nèi)部的播放引擎就會回調(diào)客戶端注冊的 ()方法,并將錯誤的狀態(tài)傳入。在一個新構(gòu)建的 MediaPlayer 對象和一個調(diào)用了 reset()方法的 MediaPlayer 對象之間有個微笑但十分重要的差別。當(dāng)調(diào)用了 release()方法后,它就處于 End 狀態(tài)。通過圖 22 可以知道一個 Mediaplayer 對象有如下狀態(tài)。橢圓標(biāo)識代表 Mediaplayer 對象可能主流的狀態(tài)。需要注意的是,在不需要播放的時候要及時釋放掉與 Mediaplayer 對象相連接的播放文件 [7]。Mediaplayer 能被用來控制音頻/視頻文件或流媒體的回放,可以在 VideoView 里找到關(guān)于如何使用這個類中的方法的例子。Mediaplayer 播放音頻比較簡單,但是要播放視頻就需要 SurfaceView。一是通過 eclipse 開發(fā)環(huán)境,二是通過命令行創(chuàng)建 [5]。建立的 Android 要運行,必須創(chuàng)建 AVD,每個 AVD 上可以配置很多的運行項目。目前 Android 開發(fā)所用的開發(fā)工具是 Eclipse,在 Eclipse 編譯 IDE 環(huán)境中,安裝 ADT,為 Android 開發(fā)提供開發(fā)工具的升級或者變更,簡單理解為在 Eclipse 下開發(fā)工具的升級下載工具 [2]。因此,Android SDK 指的是 Android 專屬的軟件開發(fā)工具包。 (3) AndroidSDK:SDK(software development kit)稱為軟件開發(fā)工具包。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。沒有 JDK 的話,無法編譯 Java 程序 [10]。EE(J2EE),enterprise edition,企業(yè)版,使用這種 JDK 開發(fā) J2EE 應(yīng)用程序,從 JDK 開始,改名為 Java EE。JDK 是整個 Java 的核心,包括了 Java 運行環(huán)境、 Java 工具和 Java 基礎(chǔ)類庫。 Android 開發(fā)平臺及相關(guān)技術(shù) AndroidWindows 開發(fā)環(huán)境(1) :JDK(Java Development Kit)是 Sun Microsystems 針對 Java 開發(fā)員的產(chǎn)品。Android 應(yīng)用程序由強大的 Java 語言來編寫,也支持其他一些語言如 C、Perl 等。 (4)應(yīng)用程序。通知管理器(Notification Manager)使得應(yīng)用程序可以在狀態(tài)欄中顯示自己定義的提示信息。內(nèi)容提供者(Content Providers)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫),或者共享他們各自的數(shù)據(jù)。 (3)應(yīng)用程序框架。運行時環(huán)境合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文4主要包括一個 Dalvik Virtual Machin,Dalvik 虛擬機,區(qū)別于 Java 虛擬機的是,每一個Android 應(yīng)用程序都在自己的進(jìn)程中運行,都有一個屬于自己的 Dalvik 虛擬機,這一點可以讓系統(tǒng)在運行時可以達(dá)到優(yōu)化,程序間的影響大大降低。 Android Runtime)。 (2) 中間件。這樣,運行在 Android 上的程序可以用于商業(yè)目的。 圖 21 Android 系統(tǒng)架構(gòu) (1) Linux 內(nèi)核(Linux Kernel)。該系統(tǒng)由底向上一共分為了 4 層,如圖 21。最后對全文進(jìn)行了總結(jié)和展望,附錄部分為主要功能的函數(shù)源代碼。第三章是系統(tǒng)分析以及系統(tǒng)功能的設(shè)計與實現(xiàn),其中包括系統(tǒng)可行性分析和系統(tǒng)需求分析。第一章緒論主要分析和介紹背景、課題主要研究的問題以及系統(tǒng)設(shè)計的目標(biāo)及基本思路。基本思路介紹如下:第一步:程序運行時進(jìn)入主 Activity,通過更新或查看文件列表,選擇一個視頻文件;第二步:讀入視頻文件,調(diào)用 ()方法設(shè)置文件路徑,并通過()方法將 Mediaplayer 對象置為準(zhǔn)備狀態(tài);第三步:調(diào)用 ()方法播放視頻,此時可以調(diào)節(jié)音量、進(jìn)度,暫停播放,重置播放等等操作;第四步:播放完成后,Mediaplayer 對象進(jìn)入了 PlaybackCompleted 狀態(tài),此時可以選擇其他視頻文件進(jìn)入下一個視頻的播放或者退出程序。合肥學(xué)院計算機科學(xué)與技術(shù)系畢業(yè)論文2 系統(tǒng)設(shè)計的目標(biāo)及基本思路本次畢業(yè)設(shè)計使用 Eclipse + ADT 插件 + DDMS 插件搭建的 Android 開發(fā)平臺環(huán)境,開發(fā)語言為 Java 語言。 項目的主要工作和解決的問題本課題的研究目的就是要通過對基于 Android 的多功能視頻播放的系統(tǒng)設(shè)計與實現(xiàn),探討該系統(tǒng)的實現(xiàn)過程,以有效滿足 Android 手機用戶在視頻播放中常見的需求。而理論上的通過付費下載的形式來盈利的,現(xiàn)在國內(nèi)鮮見成功者。除了根據(jù)需求對系統(tǒng)進(jìn)行定制外,更多的工作在于為這些系統(tǒng)編寫定制的應(yīng)用。目前國內(nèi)的 Android 開發(fā)還是主要以應(yīng)用開發(fā)為主,主要分成 3 類:為企業(yè)開發(fā)應(yīng)用、開發(fā)通用應(yīng)用(放到 Android Market 或者其他 App Market 銷售)以及游戲開發(fā)(放到Android Market 或者其他 App Market 銷售) 。更多的手機軟件開發(fā)企業(yè)已經(jīng)或者籌備著將公司進(jìn)行轉(zhuǎn)型,從其他方向的開發(fā)轉(zhuǎn)向到 An
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1