《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android系統的影音播放器的設計
基于Android系統的影音播放器的設計
現代電子技術
張正政,林耀榮 華南理工大學
摘要: 摘要:基于開源移動終端操作系統Android開發了一個影音播放器。影音播放器由文件瀏覽器、視頻播放、音頻播放、播放列表管理及歌詞同步顯示等模塊組成,界面采用XML,腳本配置生成。軟件基于文件測覽器的方式實現了媒
Abstract:
Key words :

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

0 引言
    Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源移動終端操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成,是首個為移動終端打造的真正開放和完整的移動軟件。
    隨著科技的不斷發展,手機不再只是人們日常生活的移動通信工具,而是一個多媒體平臺,可提供強大的多媒體功能,越來越多的人喜歡用手機聽音樂、看電影。Android系統內置的音樂播放器基于媒體庫對歌曲進行管理,并且不支持歌詞的同步顯示。對于部分已經習慣的基于文件瀏覽器形式播放器的用戶,操作起來會有所不便。對于Android手機操作系統,可以充分利用它豐富的可編程擴展性,開發出新的播放器應用軟件。

1 Android平臺
    Android軟件開發主要涉及到的相關技術包括Android SDK(開發插件、調試工具包等)、Android系統架構和Android應用程序組件。
1.1 Android SDK
    Android SDK(Software Development Kit)提供了Android平臺上使用Java語言進行Android應用開發的API接口和工具。其中,最重要的工具是Android模擬器和Eclipse的Android開發工其插件,同時SDK也包含了各種在模擬器上用于調試、打包和安裝的工具。
    Eclipse IDE的Android開發工具插件(AndroidDevelopment Tools Plugin for the Eclipse IDE,ADT)大大擴展了Eclipse集成環境功能,使得生成和調試Android應用程序既容易又迅速。使用Eclipse,ADT插件可以加快開發Android應用程序的速度。
    Android模擬器是在計算機上運行的一個虛擬移動設備,可以使用模擬器來模擬一個實際的Android運行環境,來設計、調試和測試應用程序。
    Dalvik調試監視器服務(Dalvik Debug MonitorService,DDMS)集成了Dalvik(為Android平臺定制的虛擬機(VM)),能夠在模擬器或者設備上管理進程并協助調試。DDMS提供進程管理,產生跟蹤數據,觀察堆和線程信息,截取模擬器屏幕畫面,模擬來電或短信等功能。
1.2 Android系統架構
    Android是一個專門針對移動設備的軟件集,它包括一個操作系統,中間件和一些重要的應用程序。Android的系統架構從上往下依次是應用程序、應用程序框架和組件、Android運行時庫和其他庫、優化的Linux內核。
1.3 Android應用程序的組件
    手機的運行環境比較復雜,一個程序運行時經常會出現很多的突發情況,例如,來電或者短信及電量不足等。這些問題在Android中都有解決方案,在Android的應用程序中,以下幾個組件特別重要:
    (1)Activity
    顧名思義,Activity就是活動。應用程序必須至少包含一個Activity。Activity提供了一個虛擬的用戶接口,每一個Activity都有一個默認的窗口可以用來顯示用戶界面,一般情況下,它是全屏的窗口。例如,影音播放軟件的每個用戶界面就是Activity。
    (2)Service
    Service與Activity的主要區別在于,Service是在后臺活動的,它沒有用戶界面。典型的應用場景是,用戶選擇了一個播放列表開始播放后,離開了該用戶界面(Activity),如果仍然希望歌曲不會暫停,就可以用Service去調用播放器,而不是在Activity中調用播放器。
    (3)Intent
    在Android中,每一個行為都可以抽象為一個Intent??梢院唵蔚匕袸ntent理解為一個包含了數據的消息。Intent可以用于啟動一個Act-ivity或者Service,可以用于進程間的通信。事實上,應用程序的啟動也是通過Intent實現的。
    (4)Content providers
    Android平臺內置了一套SQLite數據儲存機制,并包含一系列管理SQLite Database的相關方法。在應用程序中,可以通過Content prov-iders訪問數據庫。每個Content provider都定義了一系列的方法用于訪問它對應的數據庫。應用程序在新建數據庫時也可以定義相應的Con-tent provider用于向其他應用程序共享數據。一般情況下,應用程序不直接調用Content provider定義的函數,而是通過ContentResolver間接調用。這樣設計的好處是一個ContentResolver可以訪問任何的Content provider,統一了接口。

2 硬件平臺
    系統的硬件平臺采用基于OMAP3530的開發板DevKit8000。美國TI公司的OMAP3530應用處理器集成了600 MHz的ARM Cortex-A8 CPU內核和430 MHz的C64x+DSP內核,并提供了USB 2.OOTG,SD/MMC和LCD等豐富的外設接口,適用于各種無線手持終端應用。DevKit8000開發板外接了一個4.3寸的LCD屏、電阻式觸摸屏和音頻輸入/輸出接口,可以用于對基于Android系統的影音播放器的開發。
    通過打補丁包和開發LCD驅動、觸摸屏驅動、按鍵驅動等外設驅動,在DevKit8000開發板上移植了版本為6.2.29的Linux內核和版本為1.6的Android系統。

3 Android影音播放器軟件開發
3.1 軟件功能
    Android的影音播放軟件主要包括以下功能:
    (1)播放視頻
    支持快進、快退、暫停、繼續和進度拖拽。
    (2)播放音頻
    支持快進、快退、上一首、下一首、暫停、繼續、停止和進度拖拽;支持隨機播放、循環播放兩種模式;支持歌詞同步顯示。
3.2 各模塊之間的關系
    影音播放軟件工程文件主要包括src文件夾(Java源碼)、res文件夾(資源文件)和AndroidManifest.xml(程序清單)。軟件主要由8個Activities組成,每個Activity對應于一個模塊。不同的Activities通過Intent進行通信和相互調用。
    各個模塊之間的關系如圖1所示。

1.JPG


    視頻播放調用順序依次是<啟動畫面>、<主菜單>、<文件瀏覽器>、<視頻播放器>;
    音頻播放調用順序依次是<啟動畫面>、<主菜單>、<播放列表管理>、<播放列表內容管理>、<正在播放>。在<正在播放>的界面上。點擊相應的按鈕就可以執行歌詞同步顯示功能。
    在工程目錄的AndroidManifest.xml(清單文件)里面,添加各Activity的說明。下面為對應啟動畫面的描述:
2.JPG


3.3 軟件模塊
    根據影音播放軟件功能,可以將軟件劃分為以下幾個模塊:
    (1)<啟動畫面>模塊。主要功能是顯示軟件啟動畫面。利用定時器線程去控制啟動畫面顯示時間,并且當用戶按下按鍵的時候,會立即中斷啟動畫面的顯示并跳轉到<主菜單>模塊。
    (2)<主菜單>模塊。主要功能是提供播放軟件的用戶界面。用戶界面由Android的XML配置生成。
    主菜單提供三個選項,分別是視頻播放、音頻播放和退出程序;視頻播放時,調用<文件瀏覽器>模塊,讓用戶選擇需要播放的視頻文件。音頻播放時,調用<播放列表管理>模塊,讓用戶選擇需要播放的列表。
    (3)<文件瀏覽器>模塊。用于瀏覽內存卡上的文件。如果路徑是文件夾,則列出該文件央下的所有文件;如果路徑是文件,則先檢查文件擴展名是否為支持的視頻格式,如果是,則調用系統內置的播放器播放。
    (4)<音頻播放>模塊。它包括以下幾個模塊:
    ①<播放列表管理>模塊。主要功能是添加、刪除、重命名列表。通過Content providers訪問系統的播放列表數據庫,并利用修改的結果更新數據庫。因為采用的是系統的數據庫,所以與系統內置的音樂播放器列表共用。同時,它還提供添加列表內容的接口。通過播放列表管理模塊進入到<播放列表內容管理>模塊。
    ②<播放列表內容管理>模塊。主要功能是添加、刪除、多選播放列表中的歌曲。在Android中,每個列表都會有一個相應的歹盯表內容庫,保存了該列表里面所包含的歌曲ID。通過ContentProviders可以訪問并修改。其中,添加功能是基于文件瀏覽器實現的,在文件瀏覽器中可以對音樂文件的進行標記和添加。
    ③<正在播放>模塊。主要功能是顯示歌曲的相關信息(專輯封面、專輯名稱、歌手、長度等)和顯示正在播放歌曲的時間進度,控制歌曲的播放。
    <正在播放>模塊的界面用XML配置生成。
3.JPG
    實際使用的效果圖如圖2所示。

7.jpg


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

5.JPG
    通過創建MediaPlayer播放器類對象,調用Android提供的API就可以實現文件的解碼和播放。
    ④<歌詞同步顯示>模塊。程序啟動時,對內存卡進行掃描,將掃描到的歌詞文件名字和路徑保存到歌詞數據庫中。對正在播放的歌曲,根據歌曲名字自動檢索歌詞文件,并同步顯示歌詞。第一次啟動該程序時,需要新建歌詞數據庫,用于保存歌詞文件信息。Android提供了類SQLiteOpenHelper用于新建數據庫。
6.JPG
    DATABASE_CREATE是一個SQL原語的字符串宏,其內容是“create table lyric_meta(_id integerprimary key autoincrement,_disp-alay_name text not null,_date text not null);”表示創建一個歌詞文件的表,包含_id,_display_name,_data三列。其中_id是自增的且惟一的整數,_display_name是歌詞文件名稱,_data是歌詞文件路徑。歌詞顯示效果如圖3所示。

8.jpg



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

5 結語
    本文以Android上影音播放器的開發為范例,詳細給出了Android上應用的開發方法。開發的影音播放器在Android手機模擬器和OMAP35 30開發板上測試通過。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美亚洲日本一区| 国产精品视频免费观看| 一本大道久久a久久精品综合| 麻豆精品视频在线观看视频| 欧美一区二区三区久久精品| 国产日韩av在线播放| 一本色道久久综合狠狠躁的推荐| 久久伊人亚洲| 亚洲国产一区二区a毛片| 免费视频最近日韩| 国产精品乱码妇女bbbb| 国产欧美日本一区二区三区| 亚洲精品日韩欧美| 一区二区高清视频| 久久久999精品| 国产日韩一区| 久久精品一本| 老司机午夜精品| 欧美在线观看视频在线| 亚洲一区二区av电影| a4yy欧美一区二区三区| 国产精品欧美久久久久无广告| 亚洲精品在线视频观看| 国产精品久久久久久久久久直播| 在线一区亚洲| 欧美三区视频| 麻豆freexxxx性91精品| 亚洲国产欧美日韩精品| 欧美成人一区二区三区片免费| 精品二区久久| 久久久久99精品国产片| 久久一日本道色综合久久| 亚洲综合二区| 亚洲一区日本| 欧美在线精品一区| 久久久精品国产免费观看同学| 夜夜嗨av一区二区三区网页| 国产欧美亚洲精品| 欧美风情在线| 欧美一区网站| 亚洲视频精选在线| 老司机精品视频一区二区三区| 久久久蜜桃一区二区人| 国产精品久久久久久五月尺| 欧美激情一区二区三区成人| 久久蜜桃av一区精品变态类天堂| 欧美日本在线播放| 欧美中文字幕视频| 亚洲成人直播| 黄色精品在线看| 国产精品夫妻自拍| 性欧美video另类hd性玩具| 欧美三级不卡| 欧美怡红院视频| 亚洲激情精品| 一区二区三区免费在线观看| 一区二区三区视频观看| 亚洲综合电影一区二区三区| 国产一区二区三区直播精品电影| 亚洲美女黄色片| 免费亚洲电影在线观看| 国产精品夜夜夜一区二区三区尤| 国产伦精品一区二区三区| 欧美日韩免费在线视频| 欧美成人伊人久久综合网| 欧美va亚洲va香蕉在线| 欧美日韩国产成人在线观看| 国产精品久久久久久久久久直播| 猛男gaygay欧美视频| 国产精品色午夜在线观看| 国产欧美综合一区二区三区| 狠狠网亚洲精品| 国产自产女人91一区在线观看| 亚洲黄一区二区| 狠狠色狠狠色综合系列| 亚洲国产高清aⅴ视频| 亚洲欧洲另类| 国产精品永久| 欧美日韩第一区日日骚| 精品av久久久久电影| 欧美性事在线| 美女啪啪无遮挡免费久久网站| 亚洲精品欧美日韩专区| 国产精品国产福利国产秒拍| 欧美亚州一区二区三区| 国产亚洲成年网址在线观看| 国产精品久久久久久久久久免费看| 国产精品日日摸夜夜摸av| 亚洲视频在线免费观看| 亚洲电影天堂av| 欧美日韩国产精品一卡| 亚洲国产精品99久久久久久久久| 欧美午夜a级限制福利片| 欧美激情一区二区三级高清视频| 免费看亚洲片| 欧美激情五月| 国产精品久久久久久亚洲调教| 亚洲尤物视频在线| 在线播放亚洲| 久久综合国产精品| 国产午夜精品理论片a级探花| 一区二区三区在线视频播放| 欧美成人一二三| 久久精品99久久香蕉国产色戒| 国产精品一区二区三区四区五区| 亚洲视频国产视频| 一本色道久久| 红桃视频国产精品| 亚洲国产91精品在线观看| 国产欧美一区在线| 在线观看精品一区| 久久久久久久久久久久久久一区| 欧美韩日高清| 欧美ab在线视频| 国产精品乱人伦一区二区| 欧美插天视频在线播放| 欧美伦理视频网站| 国产精品亚洲综合天堂夜夜| 久久亚洲国产精品日日av夜夜| 亚洲一本大道在线| 欧美日韩亚洲一区三区| 欧美大片va欧美在线播放| 国产免费一区二区三区香蕉精| 午夜精彩视频在线观看不卡| 99精品热视频| 精品999久久久| 国产精品久久久久一区二区| 亚洲理论在线| 欧美一区二区三区在线播放| 国产精品99久久久久久久久| 亚洲伦理网站| 国产精品嫩草久久久久| 午夜精品视频在线| 欧美一区二区黄| 一本色道精品久久一区二区三区| 一区二区三区在线高清| 日韩一区二区免费看| 亚洲另类视频| 国产精品成人国产乱一区| 亚洲电影专区| 亚洲小说欧美另类社区| 欧美日韩妖精视频| 国产精品久久久一区二区三区| 亚洲国产天堂久久综合网| 在线中文字幕不卡| 先锋影音一区二区三区| 午夜精品国产更新| 国产婷婷一区二区| 亚洲欧洲一二三| 免费中文日韩| 午夜精品一区二区三区在线| 亚洲国产一区二区三区青草影视| 亚洲人成亚洲人成在线观看图片| 亚洲国产一区二区三区a毛片| 欧美精品久久一区二区| 国内精品伊人久久久久av一坑| 欧美aa国产视频| 欧美高清视频一区二区三区在线观看| 韩国自拍一区| 欧美一二三区在线观看| 亚洲男女自偷自拍| 国产精品外国| 欧美精品一二三| 欧美精品在线视频观看| 亚洲精品资源美女情侣酒店| 欧美中文字幕在线观看| 国产精品99久久久久久久久久久久| 国产亚洲精品综合一区91| 亚洲大片精品永久免费| 国产一区二区三区免费不卡| 你懂的亚洲视频| 亚洲亚洲精品三区日韩精品在线视频| 欧美一区二区三区男人的天堂| 精品9999| 亚洲一区尤物| 91久久精品国产91久久性色tv| 久久99伊人| 久久久之久亚州精品露出| 欧美日韩久久久久久| 欧美a级理论片| 国产伦精品一区二区三区高清| 欧美成人tv| 亚洲第一福利在线观看| 在线激情影院一区| 在线视频国内自拍亚洲视频| 亚洲高清自拍| 国产日韩欧美在线观看| 亚洲激情视频| 在线播放国产一区中文字幕剧情欧美| 欧美成人官网二区| 欧美成人黄色小视频| 亚洲欧美在线aaa| 在线欧美福利| 亚洲在线视频网站| 亚洲国产高清高潮精品美女| 欧美在线高清| 欧美96在线丨欧| 国产精品日韩在线播放| 国产香蕉97碰碰久久人人| 亚洲国产精品一区二区三区| 99精品热视频| 亚洲欧洲精品一区二区| 国产视频在线观看一区| 亚洲欧美成人| 国产婷婷97碰碰久久人人蜜臀| 国产精品久久久久秋霞鲁丝| 免费短视频成人日韩| 欧美日韩亚洲国产一区| 噜噜噜久久亚洲精品国产品小说| 老牛影视一区二区三区| 欧美日本在线视频| 国产日韩视频| 精品福利免费观看| 欧美一区二区黄色| 国产视频精品xxxx| 宅男精品视频| 欧美在线影院| 国产精品男gay被猛男狂揉视频| 亚洲精品一区二区三区99| 亚洲精品小视频| 免费在线看成人av| 欧美成人精品在线| 国内成+人亚洲+欧美+综合在线| 亚洲国产日韩在线| 欧美国产一区二区三区激情无套| 亚洲观看高清完整版在线观看| 国产午夜精品久久久久久久| 免费成人在线观看视频| 中文精品视频| 午夜在线视频一区二区区别| 在线亚洲一区| 国产午夜精品久久| 激情欧美日韩一区| 国产日韩欧美一区二区| 中文精品99久久国产香蕉| 亚洲在线一区二区三区| 亚洲国产精品久久精品怡红院| 亚洲精品日韩欧美| 国产欧美在线播放| 性色av一区二区三区在线观看| 国产精品一区二区黑丝| 欧美日韩中文在线| 一本大道久久精品懂色aⅴ| 一本色道久久综合亚洲精品按摩| 一区二区三区蜜桃网| 国产日韩综合| 欧美极品一区二区三区| 亚洲激情午夜| 国产精品青草综合久久久久99| 在线看片第一页欧美| 国产精品日日摸夜夜摸av| 国产精品男女猛烈高潮激情| 久久艳片www.17c.com| 在线观看欧美亚洲| 欧美韩国日本一区| 国内精品视频在线播放| 久久国产精品亚洲77777| 久久精品人人做人人爽| 亚洲免费视频在线观看| 国产一区91| 久久一区视频| 欧美日韩精品是欧美日韩精品| 久久美女艺术照精彩视频福利播放| 欧美视频第二页| 中日韩视频在线观看| 亚洲深夜av| 亚洲激情小视频| 亚洲国产天堂久久综合| **网站欧美大片在线观看| 亚洲精品一区二区三区樱花| 免费日韩精品中文字幕视频在线| 国产精品国产| 免费看的黄色欧美网站| 黄色精品免费| 欧美ab在线视频| 欧美日韩国产va另类| 欧美gay视频| 国产在线日韩| 在线免费观看日韩欧美| 亚洲肉体裸体xxxx137| 中日韩午夜理伦电影免费| 午夜精品久久久久| 欧美国产高潮xxxx1819| 美女久久网站| 久久久国产成人精品| 欧美日韩一区二区三区四区在线观看| 1024成人| 久久亚洲一区二区三区四区| 亚洲视频导航| 欧美中文字幕在线视频| 亚洲精品一品区二品区三品区| 欧美激情精品久久久久久大尺度| 欧美日韩aaaaa| 亚洲国产精品悠悠久久琪琪| 欧美视频日韩| 亚洲专区欧美专区| 亚洲经典视频在线观看| 久久综合一区二区三区| 影视先锋久久| 国产精品va| 欧美日韩免费在线观看| 欧美高清在线视频观看不卡| 国产精品久久午夜夜伦鲁鲁| 国内精品久久久久久久影视麻豆| 蜜臀久久99精品久久久久久9| 99精品国产在热久久| 欧美体内谢she精2性欧美| 亚洲欧美日产图| 亚洲天堂免费观看| 这里只有视频精品| 欧美日韩国产综合视频在线观看| 99国产一区二区三精品乱码| 中文国产亚洲喷潮| 久热国产精品| 亚洲午夜国产成人av电影男同| 影音先锋日韩有码| 国产一区二区久久精品| 国产精品播放| 欧美成人精品在线播放| 韩国一区二区三区在线观看| 亚洲欧洲av一区二区| 久久女同精品一区二区| 亚洲精品免费在线观看| 日韩视频免费观看高清完整版| 一区二区在线视频观看| 欧美成人免费播放| 久久精品官网| 欧美综合国产精品久久丁香|