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

正文內(nèi)容

基于安卓android平臺(tái)的手機(jī)多媒體播放器的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁

2024-12-06 01:14本頁面

【導(dǎo)讀】基于Android平臺(tái)的手機(jī)多媒體播放器是開發(fā)一款可以播放主流音頻和視頻文。圖片瀏覽系統(tǒng)的可行性。詳細(xì)論證了系統(tǒng)的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、系統(tǒng)測(cè)試等相關(guān)過程。通過Android中的MediaPlayer類解析和播放視頻文件、音樂

  

【正文】 的訪問的實(shí)現(xiàn) 程序?qū)崿F(xiàn)了文件瀏覽器的功能,作為一個(gè)文件瀏覽器,應(yīng)該具有瀏覽的功能,當(dāng)程序運(yùn)行到瀏覽界面時(shí),會(huì)有各文件的目錄顯示及圖標(biāo)標(biāo)識(shí)。從文件瀏覽器中用戶能看到各文件,而且能對(duì)其進(jìn)行操作,本程序是專為視頻播放器添加視頻文件或者音樂文件而設(shè)計(jì)的,因此功能僅限于對(duì)媒體文件的瀏覽,和含有媒體文件的目錄的瀏覽,所以功能比較適 用。 在播放列表界面點(diǎn)擊“本地文件”按鈕直接跳到文件瀏覽界面。當(dāng)要添加選中的文件時(shí),程序有自動(dòng)判斷功能,如果是視頻文件直接添加到播放列表和數(shù)據(jù)庫中,如果不是則給出相應(yīng)的提示。當(dāng)添加成功后,程序會(huì)跳轉(zhuǎn)到播放列表中以顯示添加結(jié)果。主要關(guān)鍵是設(shè)計(jì)了一個(gè)專門讀取文件的 FileAdapter,和對(duì)點(diǎn)擊文件后對(duì)文件是否支持視頻播放的文件的部分。 音樂播放界面的設(shè)計(jì)及其實(shí)現(xiàn) 在音樂播放個(gè)過程中,主要運(yùn)用了 MediaPlayer 類所提供的方法。當(dāng)用戶點(diǎn)擊進(jìn)入播放界面時(shí),看到的播放界面的一些功能按鈕。而后臺(tái)則自動(dòng) 掃描出能播放的音頻文件,加載到播放列表中。 音頻資源處理如圖 ,當(dāng)用戶點(diǎn)擊開始 /播放按鈕時(shí),觸發(fā)播放器播放。用戶可以調(diào)節(jié)音樂播放的模式,播放器根據(jù)播放模式播放。如果是單曲循環(huán),就一直播放當(dāng)前的歌曲。如果是隨機(jī)播放,播放器產(chǎn)生一個(gè)大于 0 并且小于或者等于播放列表長度的隨機(jī)數(shù),按照隨機(jī)數(shù)找到播放列表中相應(yīng)的音頻資源進(jìn)行播放。如果是順序模式,則按順序一直播放到播放列表尾部。在播放如果存在歌詞文件 ,則在播放過程中跟隨播放進(jìn)步顯示相應(yīng)的歌詞,否則給出相應(yīng)的提示。并且在播放每一首歌曲的時(shí)候,把歌曲的信息保存在數(shù) 據(jù)庫中。并且顯示歌手名、專輯名,如果有歌手圖片存在,加載歌手圖片到 imageView 中。 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 23 開 始結(jié) 束掃 描 歌 曲播 放 音 樂是 否 播 放顯 示 歌 詞存 在 歌 詞播 放 進(jìn) 度 顯 示播 放 完 成歌 曲 信 息 存 儲(chǔ) 到 數(shù) 據(jù) 庫單 曲 模 式順 序 模 式相 應(yīng) 提 示按 播 放 列 表 順 序 播 放隨 機(jī) 播 放是 否 到 列 表 尾 部NYYNYNNYYNYN 圖 音頻文件播放流程圖 當(dāng)開始播放后,開啟電話監(jiān)聽,如果有電話打入,則暫停當(dāng)前播放。其關(guān)鍵代沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 24 碼如下: musicName()。// 顯示歌曲名稱 SingerPhoto(path)。// 裝載歌手圖片 read()。// 裝載歌詞 save(currentListItem)。// 保存數(shù)據(jù)庫 notification(mName, mArtist, mAlbum)。// 通知欄傳入歌名 ,藝術(shù)家 ,專輯名 ()。// 重置多媒體 (path)。// 讀取 mp3文件 ()。 // 準(zhǔn)備播放 ()。// 開始播放 (updatesb)。// 更新進(jìn)度條時(shí)間 (new OnCompletionListener() )。 //監(jiān)聽播放是否完成 在調(diào)節(jié)音量和播放進(jìn)度時(shí)候,點(diǎn)擊音量 /進(jìn)度按鈕,顯示音量大小或者播放進(jìn)度。當(dāng)在顯示的是音量大小時(shí),可以通過滑動(dòng)進(jìn)度條來調(diào)節(jié)音量大小。當(dāng)在顯示的是音頻播放的進(jìn)度時(shí),可以通過滑動(dòng)進(jìn)度條調(diào)節(jié)播放進(jìn)度。并且可以通過點(diǎn)擊快進(jìn)或者快退按鈕快進(jìn)或者快退 5秒。 在音樂播放界面,加入了定時(shí)播放的功能。當(dāng)用戶點(diǎn)擊定時(shí)播放的按鈕后,進(jìn)入選擇定時(shí)播放的模式。有兩種播放模式可以供用戶選擇:按歌曲播放和按時(shí)間播放。按歌曲播放時(shí)根據(jù)判斷用戶選擇的歌曲是 否播放完成,若播放完成則關(guān)閉程序。按時(shí)間播放是用戶輸入播放的時(shí)間,程序的倒計(jì)時(shí)功能開始運(yùn)行,當(dāng)?shù)褂?jì)時(shí)到 0 時(shí)關(guān)閉程序。 音樂歌詞顯示設(shè)計(jì)及其實(shí)現(xiàn) 在歌曲開始播放時(shí)候,播放器通過獲得歌曲名稱,在文件夾 SDcard 下尋找匹配的歌詞文件。如果沒有則給出不存在歌詞的相應(yīng)提示,否則進(jìn)行歌詞解析與顯示。 如圖 所示,在歌曲開始播放時(shí),當(dāng)歌詞文件存在時(shí),先讀取歌詞文件內(nèi)容到字符串?dāng)?shù)組中。然后用空格替換掉“ [”,用“ @”替換掉“ ]”,用“:”替換掉“ .”,在通過區(qū)分“ @”號(hào)把數(shù)組分離成一段一段的字符串裝載到 另一個(gè)數(shù)組中。再通過獲沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 25 得播放是時(shí)間進(jìn)行分、秒、毫秒的轉(zhuǎn)換成毫秒,作為開始顯現(xiàn)當(dāng)前這段歌詞的開始時(shí)間,然后通過計(jì)算獲得每段歌詞顯示需要的時(shí)間,加上開始時(shí)間作為每段歌詞結(jié)束時(shí)間。當(dāng)播放進(jìn)度大于等于每段歌詞開始,并且小于等于每段歌詞結(jié)束時(shí)間時(shí)顯示當(dāng)前這段歌詞。 開 始結(jié) 束找 到 歌 詞 文 件尋 找 歌 詞 文 件解 析 與 轉(zhuǎn) 換 歌 詞讀 取 文 件加 載 上 時(shí) 間設(shè) 置 歌 詞 主 題跟 隨 播 放 進(jìn) 度 顯 示 歌 詞提 示 沒 有 歌 詞 文 件NY 圖 歌詞顯示流程圖 微博分享及圖片瀏覽的設(shè)計(jì)與實(shí)現(xiàn) 在該系統(tǒng)中,新浪微博分享是一個(gè)從用戶出發(fā),考慮到用戶可能會(huì)發(fā)布對(duì)音頻或者視頻文件的評(píng)價(jià)而設(shè)計(jì)的。圖片瀏覽更是根據(jù)用戶不同需求來 查看圖片以達(dá)到放松心情而量身打造的。以下主要介紹其實(shí)現(xiàn)的過程。 微博分享的實(shí)現(xiàn) 如圖 ,在微博分享設(shè)計(jì)的過程中,為了不讓第三方軟件設(shè)計(jì)到新浪微博用戶的密碼等個(gè)人信息,該系統(tǒng)采用了通過在新浪微博上申請(qǐng)創(chuàng)建應(yīng)用,獲得新浪微博沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 26 提供的 CONSUMER_KEY和 CONSUMER_SECRET,通過這樣獲得新浪微博提供的登錄界面。用戶通過新浪微博提供的登陸界面,第三方軟件就不會(huì)竊取用戶的密碼的個(gè)人信息。在設(shè)計(jì)前首先下載了新浪微博提供的一部分代碼,在這部分代碼的接口中去實(shí)現(xiàn)發(fā)送微博。 在點(diǎn)擊登錄前,該 系統(tǒng)設(shè)計(jì)了一個(gè)小的煙花綻放的動(dòng)畫,這樣可以讓用戶在等待登錄界面的出現(xiàn)有個(gè)緩沖時(shí)間,不會(huì)覺得等待的漫長。新浪微博分享流程圖如下。 開 始結(jié) 束顯 示 簡(jiǎn) 單 動(dòng) 畫登 錄 微 博聯(lián) 接 互 聯(lián) 網(wǎng)發(fā) 表 微 博登 錄 成 功聯(lián) 網(wǎng) 提 示NYNY 圖 新浪微博分享流程圖 圖片瀏覽的設(shè)計(jì)與實(shí)現(xiàn) 當(dāng)用戶點(diǎn)擊圖片瀏覽時(shí),首先進(jìn)入的是瀏覽的歷史列表。歷史列表是通過把數(shù)據(jù)庫中存放的圖片信息進(jìn)行解析,以縮略圖的形式呈現(xiàn)出來。主要通過重新寫了一沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 27 個(gè) Adapter 類,在 Adapter 類中獲得數(shù)據(jù)庫所存儲(chǔ)的圖片信息,把通過工廠模式獲得圖片的高和寬與目標(biāo)縮略圖的 高和款進(jìn)行對(duì)比,獲得位圖 Bitmap 的高和寬。最后通過再次加載圖片的信,把位圖 Bitmap 的高和寬作為目標(biāo)高和寬進(jìn)行轉(zhuǎn)換獲得一個(gè)位圖 Bitmap,在 Adapter 中通過解析位圖 Bitmap 獲得圖片。當(dāng)用戶點(diǎn)擊列表時(shí),可以瀏覽列表的所有圖片。 當(dāng)用戶點(diǎn)擊本地文件時(shí)候,進(jìn)入文件目錄顯示的界面,找到存在圖片的文件架時(shí),通過異步加載線程池把所有的圖片加載到圖片信息數(shù)組中,這樣比同比加載更高效。 開 始結(jié) 束通 過 線 程 池 異 步 加 載 圖 片初 始 化 圖 片 矩 陣是 否 為 多 點(diǎn) 觸 屏 加 載 下 一 張 圖 片計(jì) 算 兩 個(gè) 手 指 之 間 距 離圖 片 是 否 小 于 原 始 大 小 進(jìn) 行 寬 和 高 矯 正圖 片 是 否 超 出 屏 幕 大 小 進(jìn) 行 寬 和 高 矯 正加 載 縮 放 后 的 圖 片NYYNYN 圖 圖片瀏覽流程圖 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 28 如圖 所示,在通過異步線程池 把當(dāng)前文件夾中所有的圖片加載到圖片信息數(shù)組后,顯示的是第一張圖片。當(dāng)屏幕監(jiān)測(cè)到是單點(diǎn)滑動(dòng)時(shí),判斷圖片信息數(shù)組是否到最后或者數(shù)組頭部,如果到數(shù)組末尾或者數(shù)組頭部,給出相應(yīng)的提示,否則加載下一張圖片或者上一張圖片。 當(dāng)屏幕監(jiān)測(cè)到的是多點(diǎn)觸屏?xí)r,通過計(jì)算手指間的距離,與圖片大小進(jìn)行對(duì)比。如果圖片大小超過屏幕大小或者小于圖片本身大小,進(jìn)行寬和高的矯正。最后加載縮放過的圖片。 數(shù)據(jù)的存儲(chǔ)設(shè)計(jì) 在播放器正常運(yùn)行時(shí),由于各界面存在相互跳轉(zhuǎn),為了避免數(shù)據(jù)在界面跳轉(zhuǎn)的過程中丟失,需要將一些數(shù)據(jù)進(jìn)行臨時(shí)存儲(chǔ)或者永久存儲(chǔ) 。 Android 作為一種手機(jī)操作系統(tǒng),提供了如下幾種存取數(shù)據(jù)的方式: Preference(配置)、 File(文件)、 SQLite 數(shù)據(jù)和網(wǎng)絡(luò) 。 另外,在 Android 中各個(gè)應(yīng)用程序組件之間是相互獨(dú)立的,彼此的數(shù)據(jù)不能共享。為了實(shí)現(xiàn)數(shù)據(jù)的共享, Android 提供了 Content Provider 組件來實(shí)現(xiàn)應(yīng)用程序之間數(shù)據(jù)的共享 。 SQLite 數(shù)據(jù)庫的設(shè)計(jì)與實(shí)現(xiàn) SQLiteDatabase 代表一個(gè)數(shù)據(jù)庫對(duì)象,提供了操作數(shù)據(jù)庫的一些方法 常用方法表(表 )。 SQLiteOpenHelper 是 SQLiteDatabase 的一個(gè)幫助類,用來管理數(shù)據(jù)庫的創(chuàng)建和版本更新 。一般 的用法 是定義 一個(gè)類 繼承之 ,并 實(shí)現(xiàn)其 兩個(gè)抽 象方法onCreate(SQLiteDatabase db)和 onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)兩個(gè)抽象方法來創(chuàng)建和更新數(shù)據(jù)庫。 沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 29 表 常用方法表 方法名稱 方法描述 openOrCreateDatabase(String path, factory) 打開或者創(chuàng)建數(shù)據(jù)庫 Insert(String table,String nullColumnHack,ContntValues values) 添加一條數(shù)據(jù) Delete(String table,String whereClause,String[] shereArgs) 刪除一條數(shù)據(jù) Query ( String table,String[] selection,String [] selectionArgs,String groupBy,String having,String orderBy) 查詢記錄 Update ( String table,ContentValues,String whereClause,String[] whereArgs) 修改記錄 ExecSQL(String sql) 執(zhí)行一條 SQL語句 Close() 關(guān)閉數(shù)據(jù)庫 數(shù)據(jù)庫 SQLite 中存放了視頻信息表 vedio 、歌曲信息表 music、圖片信息表picture。 視頻信息表 vedio (表 )主要是保存視頻名字、 ID、最近播放時(shí)間,播放進(jìn)度。字段說明: Id 是視頻 id 號(hào), name 是 視頻名字, time 是最近播放時(shí)間 ,ondoing 是播放進(jìn)度。 表 vedio 字段表 屬性 數(shù)據(jù)類型 字段說明 主鍵 _Id INTEGER 視頻 id 號(hào) 是 name VARCHAR 視頻名字 否 time VARCHAR 最近播放時(shí)間 否 ondoing INTEGER 播放進(jìn)度 否 music 表(表 )中各行存放的是歌曲 ID、歌曲名稱、歌曲時(shí)間、歌曲路徑、歌曲大小、專輯名、藝術(shù)家、歌曲全名、歌曲長度。字段說明: m_id 是歌曲 ID, m_name是歌曲全名, m_time 是歌曲 時(shí)間, art 是藝術(shù)家, m_mName 是歌曲名稱, m_mAlbum 是沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文) 30 專輯名, m_musicNAME 是歌曲路徑, m_mTime 是歌曲長度, m_mData 是歌曲大小。 表 music 字段表 屬性 數(shù)據(jù)類型 字段說明 主鍵 m_id INTEGER 歌曲 ID 是 m_name VARCHAR 歌曲全名 否 m_time VARCHAR 歌曲時(shí)間 否 art VARCHAR 藝術(shù)家 否 m_mName VARCHAR 歌曲名稱 否 m_mAlbum VARCHAR 專輯名 否 m_musicNAME VARCHAR 歌曲路徑 否 m_mTime VARCHAR 歌曲長度 否 m_mData VARCHAR 歌曲大小 否 圖片信息表 picture(表 )存放的是圖片的名稱、圖片路徑、最近瀏覽時(shí)間。字段說明 :p_name 是圖片名稱, p_data 是圖片路徑, p_time 是最近瀏覽時(shí)間。 表 picture 字段表 屬性 數(shù)據(jù)類型 允許空 主鍵 p_name VARCHAR 圖片名稱 是 p_data VARCHAR 圖片路徑 否 p_time VARCHAR 最近瀏覽時(shí)間 否 Android 提供了標(biāo)準(zhǔn)的數(shù)據(jù)庫創(chuàng)建方式。繼承 SQLiteOpenHelper ,實(shí)現(xiàn)onCreate 和 onUpgrade 兩個(gè)方法,有個(gè)好處就是便于數(shù)據(jù)庫版本的升級(jí),連接數(shù)據(jù)庫的算法如下: public DBHelper(Context context) {// 創(chuàng)建數(shù)據(jù)庫 super(context, DATABASE_NAME,null, DATABASE_VE
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1