无码成人A片在线观看,性欧美videofree高清变态,中文字幕有码无码av,国产无人区卡一卡二扰乱码 ,最近高清日本免费

您現(xiàn)在的位置: 通信界 >> 視頻通信 >> 技術正文  
 
基于Android系統(tǒng)的影音播放器開發(fā)[圖]
[ 通信界 / 佚名 / m.k-94.cn / 2012/7/5 21:25:21 ]
 

摘要:基于開源移動終端操作系統(tǒng)Android開發(fā)了一個影音播放器。影音播放器由文件瀏覽器、視頻播放、音頻播放、播放列表管理及歌詞同步顯示等模塊組成,界面采用XML腳本配置生成。軟件基于文件瀏覽器的方式實現(xiàn)了媒體庫的管理,大大方便了用戶的操作。軟件每次啟動時都會對儲存設備進行掃描,將掃描到的歌詞文件信息保存到歌詞數(shù)據(jù)庫中。對正在播放的歌曲,根據(jù)歌曲名字檢索歌詞文件,并同步顯示歌詞。在Android模擬器和OMAP 3530開發(fā)板上對播放器進行了功能測試與驗證。

0 引言

Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源移動終端操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成,是首個為移動終端打造的真正開放和完整的移動軟件。

隨著科技的不斷發(fā)展,手機不再只是人們日常生活的移動通信工具,而是一個多媒體平臺,可提供強大的多媒體功能,越來越多的人喜歡用手機聽音樂、看電影。

Android系統(tǒng)內置的音樂播放器基于媒體庫對歌曲進行管理,并且不支持歌詞的同步顯示。對于部分已經(jīng)習慣的基于文件瀏覽器形式播放器的用戶,操作起來會有所不便。對于Android手機操作系統(tǒng),可以充分利用它豐富的可編程擴展性,開發(fā)出新的播放器應用軟件。

1 Android平臺

Android軟件開發(fā)主要涉及到的相關技術包括Android SDK(開發(fā)插件、調試工具包等)、Android系統(tǒng)架構和Android應用程序組件。

1.1 Android SDK

Android SDK(Software Development Kit)提供了Android平臺上使用Java語言進行Android應用開發(fā)的API接口和工具。其中,最重要的工具是Android模擬器和Eclipsel2 的Android開發(fā)工具插件,同時SDK也包含了各種在模擬器上用于調試、打包和安裝的工具。

Eclipse IDE的Android開發(fā)工具插件(AndroidDevelopment Tools Plugin for the Eclipse IDE,ADT)大大擴展了Eclipse集成環(huán)境功能,使得生成和調試Android應用程序既容易又迅速。使用Eclipse,ADT插件可以加快開發(fā)Android應用程序的速度。

Android模擬器是在計算機上運行的一個虛擬移動設備,可以使用模擬器來模擬一個實際的Android運行環(huán)境,來設計、調試和測試應用程序。

Dalvik調試監(jiān)視器服務(Dalvik Debug MONitorService,DDMS)集成了Dalvik(為Android平臺定制的虛擬機(VM)),能夠在模擬器或者設備上管理進程并協(xié)助調試。DDMS提供進程管理,產(chǎn)生跟蹤數(shù)據(jù),觀察堆和線程信息,截取模擬器屏幕畫面,模擬來電或短信等功能。

1.2 Android系統(tǒng)架構

Android是一個專門針對移動設備的軟件集,它包括一個操作系統(tǒng),中間件和一些重要的應用程序。

Android的系統(tǒng)架構從上往下依次是應用程序、應用程序框架和組件、Android運行時庫和其他庫、優(yōu)化的Linux內核。

1.3 Android應用程序的組件

手機的運行環(huán)境比較復雜,一個程序運行時經(jīng)常會出現(xiàn)很多的突發(fā)情況,例如,來電或者短信及電量不足等。這些問題在Android中都有解決方案,在Android的應用程序中,以下幾個組件特別重要:

(1) AcTIvity顧名思義,Activity就是活動。應用程序必須至少包含一個Activity。Activity提供了一個虛擬的用戶接口,每一個Activity都有一個默認的窗口可以用來顯示用戶界面,一般情況下,它是全屏的窗口。例如,影音播放軟件的每個用戶界面就是Activity。

(2)ServiceService與Activity的主要區(qū)別在于,Service是在后臺活動的,它沒有用戶界面 ]。典型的應用場景是,用戶選擇了一個播放列表開始播放后,離開了該用戶界面(Activity),如果仍然希望歌曲不會暫停,就可以用Service去調用播放器,而不是在Activity中調用播放器。

(3)Intent在Android中,每一個行為都可以抽象為一個Intent?梢院唵蔚匕袸ntent理解為一個包含了數(shù)據(jù)的消息。Intent可以用于啟動一個Activity或者Service,可以用于進程間的通信。事實上,應用程序的啟動也是通過Intent實現(xiàn)的。

(4)Content providersAndroid平臺內置了一套SQLite數(shù)據(jù)儲存機制,并包含一系列管理SQLite Database的相關方法_7]。

在應用程序中,可以通過Content providers訪問數(shù)據(jù)庫。每個Content provider都定義了一系列的方法用于訪問它對應的數(shù)據(jù)庫。應用程序在新建數(shù)據(jù)庫時也可以定義相應的Content provider用于向其他應用程序共享數(shù)據(jù)。一般情況下,應用程序不直接調用Con—tent provider定義的函數(shù),而是通過ContentResolve間接調用。這樣設計的好處是一個ContentResolver可以訪問任何的Content provider,統(tǒng)一了接口。

2 硬件平臺

系統(tǒng)的硬件平臺采用基于OMAP3530的開發(fā)板DevKit8000。美國TI公司的OMAP3530應用處理器_8 集成了600 MHz的ARM Cortex-A8 CPU 內核和430 MHz的C64x+ DSP內核,并提供了USB 2.0OTG,SD/MMC和LCD等豐富的外設接口,適用于各種無線手持終端應用。DevKit8000開發(fā)板外接了一個4.3寸的LCD屏、電阻式觸摸屏和音頻輸入/輸出接口,可以用于對基于Android系統(tǒng)的影音播放器的開發(fā)。

通過打補丁包和開發(fā)LCD驅動、觸摸屏驅動、按鍵驅動等外設驅動,在DevKit8000開發(fā)板上移植了版本為6.2.29的Linux內核和版本為1.6的Android系統(tǒng)。

3 Android影音播放器軟件開發(fā)

3.1 軟件功能

Android的影音播放軟件主要包括以下功能:

(1)播放視頻支持快進、快退、暫停、繼續(xù)和進度拖拽。

(2)播放音頻支持快進、快退、上一首、下一首、暫停、繼續(xù)、停止和進度拖拽;支持隨機播放、循環(huán)播放兩種模式;支持歌詞同步顯示。

3.2 各模塊之間的關系

影音播放軟件工程文件主要包括src文件夾(Java源碼)、res文件夾(資源文件)和AndroidManifeST.xml(程序清單)。軟件主要由8個Activities組成,每個Activity對應于一個模塊。不同的Activities通過In—tent進行通信和相互調用。

各個模塊之間的關系如圖1所示。

視頻播放調用順序依次是<啟動畫面>、< 主菜單>、<文件瀏覽器>、<視頻播放器>;音頻播放調用順序依次是<啟動畫面>、< 主菜單>、<播放列表管理> 、<播放列表內容管理> 、<正在播放> 。在<正在播放>的界面上,點擊相應的按鈕就可以執(zhí)行歌詞同步顯示功能。

在工程目錄的AndroidManifest:.xml(清單文件)里面,添加各Activity的說明。下面為對應啟動畫面的描述:

3.3 軟件模塊

根據(jù)影音播放軟件功能,可以將軟件劃分為以下幾個模塊:

(1)<啟動畫面>模塊。主要功能是顯示軟件啟動畫面。利用定時器線程去控制啟動畫面顯示時間,并且當用戶按下按鍵的時候,會立即中斷啟動畫面的顯示并跳轉到<主菜單>模塊。

(2)<主菜單>模塊。主要功能是提供播放軟件的用戶界面。用戶界面由Android的XML配置生成。

主菜單提供三個選項,分別是視頻播放、音頻播放和退出程序;視頻播放時,調用<文件瀏覽器>模塊,讓用戶選擇需要播放的視頻文件。音頻播放時,調用<播放列表管理>模塊,讓用戶選擇需要播放的列表。

(3)<文件瀏覽器>模塊。用于瀏覽內存卡上的文件。如果路徑是文件夾,則列出該文件夾下的所有文件;如果路徑是文件,則先檢查文件擴展名是否為支持的視頻格式,如果是,則調用系統(tǒng)內置的播放器播放。

(4)<音頻播放>模塊。它包括以下幾個模塊:

① <播放列表管理>模塊。主要功能是添加、刪除、重命名列表。通過Content providers訪問系統(tǒng)的播放列表數(shù)據(jù)庫,并利用修改的結果更新數(shù)據(jù)庫。因為采用的是系統(tǒng)的數(shù)據(jù)庫,所以與系統(tǒng)內置的音樂播放器列表共用。同時,它還提供添加列表內容的接口。通過播放列表管理模塊進入到<播放列表內容管理>模塊。

② <播放列表內容管理>模塊。主要功能是添加、刪除、多選播放列表中的歌曲。在Android中,每個列表都會有一個相應的列表內容庫,保存了該列表里面所包含的歌曲ID。通過Content Providers可以訪問并修改。其中,添加功能是基于文件瀏覽器實現(xiàn)的,在文件瀏覽器中可以對音樂文件的進行標記和添加。

③ <正在播放>模塊。主要功能是顯示歌曲的相關信息(專輯封面、專輯名稱、歌手、長度等)和顯示正在播放歌曲的時間進度,控制歌曲的播放。

<正在播放>模塊的界面用XML配置生成。

在Android的音樂庫已經(jīng)將歌曲的Idv2或Idv3標簽進行解析,并將歌曲的相關信息(包括演唱者、流派、時長等)保存在媒體數(shù)據(jù)庫中。只需要通過Con—tent providers對該數(shù)據(jù)庫進行訪問,就可以得到相關的信息并送顯示。獲取歌曲相關信息的程序源碼如下:

通過創(chuàng)建MediaPlayer播放器類對象,調用An—droid提供的API就可以實現(xiàn)文件的解碼和播放。

④ <歌詞同步顯示>模塊。程序啟動時,對內存卡進行掃描,將掃描到的歌詞文件名字和路徑保存到歌詞數(shù)據(jù)庫中。對正在播放的歌曲,根據(jù)歌曲名字自動檢索歌詞文件,并同步顯示歌詞。第一次啟動該程序時,需要新建歌詞數(shù)據(jù)庫,用于保存歌詞文件信息。An—droid提供了類SQLiteOpenHelper用于新建數(shù)據(jù)庫。

DATABASE— CREATE是一個SQL原語的字符串宏,其內容是“create table lyric—meta(一id integerprimary key autoincrement,一display— nam e text notnull,一data text not nul1);”表示創(chuàng)建一個歌詞文件的表,包含一id,一display_name,一data三列。其中jd是自增的且惟一的整數(shù),一display—nAME是歌詞文件名稱,一data是歌詞文件路徑。

4 系統(tǒng)測試

首先在Android SDK 1.6的模擬器上對影音播放器的各項功能進行調試和測試。調試結束后,將編譯生成的安裝文件(.APK)拷貝到SD卡,利用Android文件管理器將播放器軟件安裝到OMAP3530開發(fā)板的系統(tǒng)上,然后將測試用的視頻文件、MP3音樂文件及對應的歌詞文件(.1rc)拷貝到SD卡,0MAP3530開發(fā)板上的影音播放器可以通過文件瀏覽器選擇音視頻文件并正常播放,在播放音頻文件時可以正常顯示匹配的歌詞,支持快進、快退、暫停等控制功能。

5 結語

本文以Android上影音播放器的開發(fā)為范例,詳細給出了Android上應用的開發(fā)方法。開發(fā)的影音播放器在Android手機模擬器和OMAP3530開發(fā)板上測試通過。

 

作者:佚名 合作媒體:不詳 編輯:顧北

 

 

 
 熱點技術
普通技術 “5G”,真的來了!牛在哪里?
普通技術 5G,是偽命題嗎?
普通技術 云視頻會議關鍵技術淺析
普通技術 運營商語音能力開放集中管理方案分析
普通技術 5G網(wǎng)絡商用需要“無憂”心
普通技術 面向5G應運而生的邊緣計算
普通技術 簡析5G時代四大關鍵趨勢
普通技術 國家網(wǎng)信辦就《數(shù)據(jù)安全管理辦法》公開征求意見
普通技術 《車聯(lián)網(wǎng)(智能網(wǎng)聯(lián)汽車)直連通信使用5905-5925MHz頻段管理規(guī)定(
普通技術 中興通訊混合云解決方案,滿足5G多元業(yè)務需求
普通技術 大規(guī)模MIMO將帶來更多無線信道,但也使無線信道易受攻擊
普通技術 蜂窩車聯(lián)網(wǎng)的標準及關鍵技術及網(wǎng)絡架構的研究
普通技術 4G與5G融合組網(wǎng)及互操作技術研究
普通技術 5G中CU-DU架構、設備實現(xiàn)及應用探討
普通技術 無源光網(wǎng)絡承載5G前傳信號可行性的研究概述
普通技術 面向5G中傳和回傳網(wǎng)絡承載解決方案
普通技術 數(shù)據(jù)中心布線系統(tǒng)可靠性探討
普通技術 家庭互聯(lián)網(wǎng)終端價值研究
普通技術 鎏信科技CEO劉舟:從連接層構建IoT云生態(tài),聚焦CMP是關鍵
普通技術 SCEF引入需求分析及部署應用
  版權與免責聲明: ① 凡本網(wǎng)注明“合作媒體:通信界”的所有作品,版權均屬于通信界,未經(jīng)本網(wǎng)授權不得轉載、摘編或利用其它方式使用。已經(jīng)本網(wǎng)授權使用作品的,應在授權范圍內使用,并注明“來源:通信界”。違反上述聲明者,本網(wǎng)將追究其相關法律責任。 ② 凡本網(wǎng)注明“合作媒體:XXX(非通信界)”的作品,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責。 ③ 如因作品內容、版權和其它問題需要同本網(wǎng)聯(lián)系的,請在一月內進行。
通信視界
華為余承東:Mate30總體銷量將會超過兩千萬部
趙隨意:媒體融合需積極求變
普通對話 苗圩:建設新一代信息基礎設施 加快制造業(yè)數(shù)字
普通對話 華為余承東:Mate30總體銷量將會超過兩千萬部
普通對話 趙隨意:媒體融合需積極求變
普通對話 韋樂平:5G給光纖、光模塊、WDM光器件帶來新機
普通對話 安筱鵬:工業(yè)互聯(lián)網(wǎng)——通向知識分工2.0之路
普通對話 庫克:蘋果不是壟斷者
普通對話 華為何剛:挑戰(zhàn)越大,成就越大
普通對話 華為董事長梁華:盡管遇到外部壓力,5G在商業(yè)
普通對話 網(wǎng)易董事局主席丁磊:中國正在引領全球消費趨
普通對話 李彥宏:無人乘用車時代即將到來 智能交通前景
普通對話 中國聯(lián)通研究院院長張云勇:雙輪驅動下,工業(yè)
普通對話 “段子手”楊元慶:人工智能金句頻出,他能否
普通對話 高通任命克里斯蒂安諾·阿蒙為公司總裁
普通對話 保利威視謝曉昉:深耕視頻技術 助力在線教育
普通對話 九州云副總裁李開:幫助客戶構建自己的云平臺
通信前瞻
楊元慶:中國制造高質量發(fā)展的未來是智能制造
對話亞信科技CTO歐陽曄博士:甘為橋梁,攜"電
普通對話 楊元慶:中國制造高質量發(fā)展的未來是智能制造
普通對話 對話亞信科技CTO歐陽曄博士:甘為橋梁,攜"電
普通對話 對話倪光南:“中國芯”突圍要發(fā)揮綜合優(yōu)勢
普通對話 黃宇紅:5G給運營商帶來新價值
普通對話 雷軍:小米所有OLED屏幕手機均已支持息屏顯示
普通對話 馬云:我挑戰(zhàn)失敗心服口服,他們才是雙11背后
普通對話 2018年大數(shù)據(jù)產(chǎn)業(yè)發(fā)展試點示范項目名單出爐 2
普通對話 陳志剛:提速又降費,中國移動的兩面精彩
普通對話 專訪華為終端何剛:第三代nova已成為爭奪全球
普通對話 中國普天陶雄強:物聯(lián)網(wǎng)等新經(jīng)濟是最大機遇
普通對話 人人車李。航衲臧l(fā)力金融 拓展汽車后市場
普通對話 華為萬飚:三代出貴族,PC產(chǎn)品已走在正確道路
普通對話 共享退潮單車入冬 智享單車卻走向盈利
普通對話 Achronix發(fā)布新品單元塊 推動eFPGA升級
普通對話 金柚網(wǎng)COO邱燕:天吳系統(tǒng)2.0真正形成了社保管