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

  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模擬器和Eclipsel2 的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。

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

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

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

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

 

  2 硬件平臺

 

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

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

 

  3 Android影音播放器軟件開發

 

  3.1 軟件功能

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

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

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

  3.2 各模塊之間的關系

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

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

 

  各個模塊之間關系

 

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

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

 

  

 

  3.3 軟件模塊

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

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

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

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

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

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

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

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

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

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

  

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

  

  

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

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

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

 

  4 系統測試

 

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

 

  5 結 語

 

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

此內容為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>
          欧美日韩国产精品成人| 久久婷婷久久一区二区三区| 伊人久久综合| 国产精品入口日韩视频大尺度| 国产日韩精品一区二区三区| 久久久久久伊人| 欧美激情精品久久久| 伊人久久婷婷色综合98网| 亚洲美洲欧洲综合国产一区| 亚洲激情网站免费观看| 一色屋精品视频在线观看网站| 欧美久久成人| 欧美成人一区二区三区在线观看| 国产偷国产偷精品高清尤物| 亚洲国产欧美一区二区三区久久| 久久久噜噜噜久久中文字幕色伊伊| 国产有码一区二区| 亚洲伦理在线免费看| 另类欧美日韩国产在线| 欧美国产日韩一区二区三区| 国产伦精品一区| 欧美黄色小视频| 一本色道久久综合狠狠躁篇的优点| 国产精品成人一区二区三区吃奶| 好看的日韩视频| 欧美视频导航| 香蕉亚洲视频| 久久九九久久九九| 99精品免费网| 国产日本欧美一区二区| 在线观看视频日韩| 国产欧美日韩中文字幕在线| 日韩午夜在线观看视频| 国产欧美日韩视频一区二区三区| 欧美激情精品久久久久久大尺度| 欧美视频一区二区| 欧美另类高清视频在线| 国产精品二区影院| 欧美噜噜久久久xxx| 午夜精品久久久久久久| av成人福利| 国产精品福利在线观看| 欧美在线短视频| 欧美一区日韩一区| 亚洲精品国精品久久99热一| 亚洲图片欧美午夜| 欧美黄色影院| 欧美日韩情趣电影| 91久久精品日日躁夜夜躁欧美| 欧美国产日韩xxxxx| 精品不卡一区| 欧美日韩无遮挡| 亚洲欧美精品| 母乳一区在线观看| 国产视频精品va久久久久久| 性欧美大战久久久久久久久| 国产主播一区二区三区四区| 玉米视频成人免费看| 精品91免费| 欧美三级乱码| 欧美激情久久久久| 欧美精选午夜久久久乱码6080| 欧美天天综合网| 国产综合色产在线精品| 亚洲电影免费观看高清完整版在线观看| 国产麻豆一精品一av一免费| 91久久综合亚洲鲁鲁五月天| 欧美性色aⅴ视频一区日韩精品| 久久综合九色综合网站| 精品成人一区二区三区四区| 日韩亚洲在线观看| 欧美精品高清视频| 久久亚洲春色中文字幕久久久| 欧美一区国产一区| 亚洲一级网站| 麻豆成人在线观看| 欧美一级视频精品观看| 国产亚洲精品久久久久婷婷瑜伽| 欧美日韩国产999| 欧美午夜精品久久久久久浪潮| 亚洲国产午夜| 欧美激情中文字幕在线| 亚洲高清视频中文字幕| 欧美四级电影网站| 国产毛片一区| 亚洲激情不卡| 欧美高清视频在线| 亚洲夜间福利| 午夜在线精品| 久久久久久久综合色一本| 亚洲深夜福利| 国产精品久久777777毛茸茸| 蜜臀va亚洲va欧美va天堂| 久久国产精品久久国产精品| 一区二区三区四区五区精品| 六十路精品视频| 久久久久久久久久看片| 一本久久知道综合久久| 欧美精品免费观看二区| 久久视频国产精品免费视频在线| 91久久久久久久久| 国产美女精品人人做人人爽| 亚洲一卡久久| 亚洲先锋成人| 亚洲精品久久久久中文字幕欢迎你| 136国产福利精品导航| 亚洲国产欧洲综合997久久| 欧美日本在线观看| 黄色一区二区在线| 欧美不卡视频一区| 国产精品亚洲аv天堂网| 久久久99免费视频| 美女视频网站黄色亚洲| 欧美成人午夜影院| 欧美综合国产| 夜夜夜久久久| 亚洲欧美成人一区二区在线电影| 亚洲国产91色在线| 欧美精品一区二区久久婷婷| 一区二区三区不卡视频在线观看| 亚洲一区观看| 快播亚洲色图| 久久在线免费| 一区二区三区波多野结衣在线观看| 亚洲精一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩国产成人在线91| 午夜精品久久| 久久国产精品一区二区| 国产精品毛片va一区二区三区| 国产精品免费aⅴ片在线观看| 欧美三区在线视频| 亚洲精品日韩精品| 国产精品久久久久影院色老大| 99re视频这里只有精品| 久久精品欧美日韩| 国产精品亚洲综合久久| 久久综合色婷婷| 久久精品夜色噜噜亚洲a∨| 久久久精品日韩欧美| 久久这里有精品视频| 欧美日韩一区二区在线播放| 亚洲无亚洲人成网站77777| 午夜精品久久一牛影视| 亚洲国产高清在线| 欧美三级在线视频| 国产欧美一区二区三区另类精品| 国产精品99久久久久久白浆小说| 欧美国产精品专区| 欧美激情按摩在线| 在线精品亚洲| 日韩亚洲视频| 亚洲乱码国产乱码精品精98午夜| 国产日本欧美一区二区三区在线| 在线观看视频一区二区欧美日韩| 欧美sm重口味系列视频在线观看| 日韩一区二区精品在线观看| 欧美午夜视频在线| 免费观看亚洲视频大全| 亚洲精品国产精品乱码不99| 欧美一区二区久久久| 久久久噜噜噜久久| 欧美一区二区三区久久精品| 在线观看欧美日本| 免费永久网站黄欧美| 国产精品稀缺呦系列在线| 国产精品男女猛烈高潮激情| 欧美精品网站| 欧美在线在线| 亚洲永久网站| 午夜一区二区三区在线观看| 亚洲美女精品一区| 亚洲黄色高清| 亚洲日本中文字幕区| 国产一区在线观看视频| 欧美视频第二页| 免费久久99精品国产自| 另类国产ts人妖高潮视频| 亚洲日本免费| 久久久精品一区| 黄色工厂这里只有精品| 国产精品久久久久久亚洲调教| 日韩午夜激情av| 国产亚洲第一区| 欧美一二三区精品| 性欧美暴力猛交69hd| 国产精品久久久久久模特| 欧美一级专区免费大片| 亚洲国产精品www| 亚洲电影第三页| 中文国产一区| 欧美一区二区三区久久精品茉莉花| 久久av免费一区| 亚洲新中文字幕| 亚洲欧美在线一区二区| 在线成人黄色| 性xx色xx综合久久久xx| 亚洲视频图片小说| 国产麻豆9l精品三级站| 亚洲福利视频三区| 亚洲精品视频在线观看免费| 99国产精品视频免费观看一公开| 国产精品入口福利| 免费成人激情视频| 久久精品一区二区三区中文字幕| 欧美在线视频网站| 激情懂色av一区av二区av| 1024亚洲| 国产精品久久午夜夜伦鲁鲁| 欧美精品色一区二区三区| 欧美成人a∨高清免费观看| 亚洲一卡久久| 久久精品视频网| 亚洲免费影院| 亚洲巨乳在线| 国产片一区二区| 亚洲一区免费网站| 欧美成人免费网站| 亚洲欧美精品一区| 久久成人久久爱| 亚洲国产一区二区精品专区| 久久一区二区三区国产精品| 国内精品**久久毛片app| 亚洲色无码播放| 久久久视频精品| 午夜在线一区二区| 老鸭窝毛片一区二区三区| 99热在线精品观看| 免费观看在线综合| 久久久青草婷婷精品综合日韩| 日韩一级视频免费观看在线| 美女视频一区免费观看| 欧美夜福利tv在线| 国产一区二区精品| 欧美va天堂va视频va在线| 久久久久在线观看| 亚洲国产成人av在线| 国产偷久久久精品专区| 性欧美在线看片a免费观看| 国产欧美一区二区精品仙草咪| 亚洲主播在线观看| 久久久久九九九九| 久久久久一区| 狠狠色噜噜狠狠狠狠色吗综合| 国产综合色在线| 欧美日韩精品免费观看| 久久久人人人| 亚洲精品资源| 国产美女精品免费电影| 中日韩美女免费视频网站在线观看| 欧美天堂在线观看| 一区二区高清视频在线观看| 国产精品成人国产乱一区| 国产精品激情av在线播放| 香蕉久久夜色精品国产| 亚洲人成人77777线观看| 亚洲一区二区综合| 久久爱91午夜羞羞| 久久人91精品久久久久久不卡| 国产精品久久久久久福利一牛影视| 国产精品欧美精品| 国产在线一区二区三区四区| 尤物在线观看一区| 黑丝一区二区三区| 国产伦精品一区二区三区免费| 99精品热视频只有精品10| 亚洲日本va午夜在线影院| 国产欧美日韩综合一区在线播放| 欧美激情一区二区三区高清视频| 精品96久久久久久中文字幕无| 国产亚洲欧美另类中文| 亚洲黄色av一区| 激情久久五月天| 尤物九九久久国产精品的分类| 亚洲综合久久久久| 日韩午夜中文字幕| 欧美成人免费全部观看天天性色| 欧美日韩国产91| 欧美私人网站| 国产自产精品| 在线视频一区二区| 久久精品91久久久久久再现| 国产亚洲网站| 久久精品水蜜桃av综合天堂| 欧美视频在线观看一区二区| 欧美亚洲在线播放| 欧美视频中文字幕| 一区二区三区欧美视频| 嫩草影视亚洲| 久久九九久久九九| 久久精品免费播放| 国产亚洲精品激情久久| 欧美aa国产视频| 欧美午夜精品久久久久久久| 在线欧美福利| 亚洲精品美女| 国产精品视频第一区| 欧美午夜女人视频在线| 久久国产精彩视频| 亚洲精品中文字幕在线观看| 国产欧美日韩精品在线| 你懂的视频一区二区| 国内精品视频久久| 久久精品国产精品| 91久久精品国产91性色tv| 欧美日韩免费精品| 在线免费精品视频| 亚洲一区二区在线免费观看视频| 亚洲一区中文字幕在线观看| 欧美日本中文| 欧美www视频在线观看| 亚洲高清久久网| 国产一区二区三区成人欧美日韩在线观看| 这里只有精品视频| 欧美日韩免费一区二区三区| 久久亚洲国产精品日日av夜夜| 国产视频在线观看一区二区| 亚洲国产专区校园欧美| 欧美精品一区二区三区一线天视频| 老司机免费视频久久| 欧美在线免费| 免费观看30秒视频久久| 欧美日韩一级片在线观看| 国产精品美女一区二区| 亚洲免费中文字幕| 久久精品一本久久99精品| 欧美激情aⅴ一区二区三区| 好看的av在线不卡观看|