《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的多媒體應用開發與研究
基于Android的多媒體應用開發與研究
摘要: 首先介紹并分析Android系統的層次架構,并在此基礎上介紹Android應用程序開發的相關技術和基本的開發流程。接下來介紹Android提供的多媒體開發組件。最后用具體的應用程序---播放器簡要說明Android多媒體應用程序的開發方法。
Abstract:
Key words :

0 引言

2007 年11 月由Google 牽頭,有30 多家移動技術和無線應用領域領先企業組成的開放手機聯盟( Open Handset Alliance) 發布了其智能手機平臺---Android.Android 是一個開放、自由的移動終端平臺,它是由操作系統、中間件、用戶界面、應用軟件組成,同時其開放性保證該平臺不存在任何阻礙移動產業創新的專有權障礙。開發人員在該平臺開發的應用程序是使用Java 語言編寫的,在Dalvik 虛擬機上運行的。Android 的底層是以開放性的Linux Kernel為其架構,也可以理解為Google 推出的手機操作系統和相關軟件的總稱[1].

Android 是一套真正意義上的開放性移動設備綜合平臺,它包括操作系統、中間件和一些關鍵的平臺應用。Android 最大特點在于它是一個開放的體系架構,具有非常好的開發和調試環境,而且還支持各種可擴展的用戶體驗,Android 里面具有非常豐富的圖形系統、對多媒體的支持功能和非常強大的瀏覽器[2].

Android 平臺的開放性等特點既能促進技術( 包括平臺自身) 的創新,又有助于降低開發成本,還可以使運營商能非常方便地制定特色化的產品,因此,它具有很大的市場發展潛力。

1 Android 軟件平臺的構成

Android 軟件平臺主要由5 部分構成,它們分別是: 關鍵應用程序、應用程序框架和組件、C /C ++ 函數庫、Java 程序運行環境、優化了的Linux 內核。

(1) 關鍵應用程序。

Android 本身會附帶一些核心的應用程序,包括E-mail 客戶端、短信程序、日歷、地圖、瀏覽器、通訊錄等,目前所有的應用程序都是用Java 語言開發的。

更多有特色的Android 應用程序還有待于廣大開發者共同參與開發。

(2) 應用程序框架及組件。

Android 應用程序開發基于框架和組件。Android 本身已在其框架中提供了許多組件供應用程序調用,開發者也可在開發應用程序時順帶開發新的組件,并將該組件放入應用程序框架中,以供自己和其它應用程序調用。

(3) Android 運行時庫和其它庫層。

Android 應用程序框架之下是一套C /C ++ 函數庫,它們服務于Android 應用程序組件,其功能通過組件間接提供給開發者。這些函數庫包括: 標準C函數庫、多媒體庫、瀏覽器引擎( 集成了Web 瀏覽器和Internet 安全的SSL 和WebKit) 、2D、3D 圖形庫及SQLite 引擎和外觀管理器等。這一層也提供了程序運行的環境。Android 的Java 程序運行環境包含一組Java 核心函數庫及Dalvik 虛擬機,它們有效地優化了Java 程序的運行過程。

(4) Linux 內核。

Android 系統平臺基于優化了的Linux 內核,它提供諸如硬件驅動程序( USB、藍牙、顯示屏等) 、內存管理、進程管理、電源管理等服務,同時也是手機軟、硬件的連接層。

2 Android 程序開發的基本組件

Android 有如下幾大基本組件: Activity、Service、CONtent Provider 和BroadcaST Receiver。

Activity 是Android 最基本的應用程序組件。任何一個Android 應用程序都可以看作一組任務,這里每一個任務就可以稱作一個Activity.在應用程序中,一個Activity 通常就是一個單獨的屏幕,用于呈現數據和與用戶進行交互,每個屏幕可以有一個或多個組件布局。

而每一個活動又是一個單獨的類,每一個這樣的類都要將Activity 作為父類。一個Activity 可以切換到新的Activity,也可以返回前一個Activity.Android 通過使用Intent 類來實現Activity 的切換。例如,一個簡單的游戲程序可以分為5 個Activity: 啟動畫面、主菜單界面、游戲主界面、高分辨和幫助界面。

Service,即"服務"的意思,相當于沒有界面的Activity.應用程序的Service 可以不需要用戶直接參與而長時間運行。典型的例子就是音樂播放器。在一個音樂播放器程序中有多個Activity,它們分別實現了歌曲的選擇和播放等功能。然而,音樂重放這個功能并沒有對應的Activity,它通過Service 來實現。

音樂播放器程序啟動一個Service,它可以在后臺保持音樂的不斷播放。應用程序還可以連接到一個Service.當Service 啟動后,還可以借助Service 提供的接口與它進行通信。

Android 應用程序可以使用文件、SQL 數據庫等各種存儲系統來保存數據。但是,如果想實現不同應用之間的數據共享,就需要用到Content Provider.

Content Provider 提供了一套標準的訪問接口,以方便其他應用程序對數據進行訪問、操作。

在實際應用中,常常需要等待系統或者其它應用發出一道指令。在Android 中,充分考慮了這類需求,于是就有了Broadcast Receiver 這樣的一個組件。

每個Broadcast Receiver 都可以接收一種或若干種Intent作為觸發事件,當一個Broadcast Receiver 被觸發后,系統就會通知相應的程序。

3 Android 多媒體API 及開發方法

多媒體---無論是圖像、視頻還是聲音,都早已成為了移動設備受到廣泛歡迎的主要原因。而今,手機設備很少會沒有攝像頭的,而且隨著技術的日益更新,越來越多的設備會擁有更為專業的視頻性能。用戶經常使用手機來拍攝和瀏覽照片,錄制聲音和觀看視頻。

3. 1 Android 提供的多媒體開發框架

Android 軟件開發包提供了一系列的方法來處理音視頻媒體,包括對于多種媒體類型和格式的支持。

單獨的Android 設備和開發人員可以擴展其支持的媒體格式列表。

Open Core 是Android 多媒體開發的核心,所有Android 平臺的音頻、視頻的采集以及播放等操作都是通過它來實現的。程序員可以通過Open Core 方便快速地開發出想要的多媒體應用程序,例如: 錄音、播放、回放、視頻會議等。Open Core 和框架圖如圖1 所示。

圖1 Open Core 框架圖

圖1 Open Core 框架圖

由圖1 可以看出,Open Core 支持的格式有MPEG4、H. 263、MP3、AAC、JPG 等。Open Core 多媒體框架有一套通用可擴展的接口,針對第三方的多媒體編解碼器,輸入、輸出設備等。

3. 2 Open Core 的主要多媒體類與接口

Open Core 主要提供了如下幾個多媒體類:

( 1) MediaPlayer 類可以用于播放音頻、視頻和流媒體,它包含了Audio 和Video 的播放功能,在Android的界面上,音頻和視頻的播放都是調用Media-Player 實現的。它可以獲得媒體文件和各種屬性和當前的播放狀態,并可以開始和停止文件的播放。

( 2) MediaRecorder 類用來進行媒體采樣,包括音頻和視頻。MediaRecorder 作為狀態機運行,需要設置不同的參數,如源格式和源設備。設置后可執行任意長度的錄制,直到用戶停止。

( 3) VideoView 類主要用來顯示一個視頻文件,它是SurfaceView 類的一個子類,且實現了MediaPlayerControl接口。

( 4) Camera 類用來處理系統中與相機相關的事件,Camera 是一個專門用來連接和斷開相機服務的類。

Open Core 在使用過程中的調用關系如圖2所示。

 

圖2 使用Open Core 的調用關系圖

圖2 使用Open Core 的調用關系圖

4 示例程序: 播放器

4. 1 布局設計

Android 是通過布局( Layout) 來定義UI( 用戶界面) 的。一般視圖( View) 可以直接在布局的XML 里聲明。XML 文件如下所示:

  < ? xml version = ″1. 0″encoding = ″utf-8?″ >

  -< AbsoluteLayout

  xmlns: android = ″http: / /schemas. android. com/apk /res /android″

  android: orientation = ″vertical″

  android: layout_width = ″fill_parent″

  android: layout_height = ″fill_parent″ >

  < ListView

  android: id = ″@ id /android: list″

  android: layout_width = ″fill_parent″

  android: layout_height = ″fill_parent″

  android: layout_weight = ″1″

  android: drawSelectorOnTop = ″false″ / >

  < ImageButton

  android: id = ″@ + id /LastImageButton″

  android: layout_width = ″wrap_content″

  android: layout_height = ″wrap_content″

  android: layout_x = ″10px″

  android: layout_y = ″170px″

  android: src = ″@ drawable /last″ / >

 ?。?以下4 個BUTTON 同上,橫坐標有變化。)

  < /AbsoluteLayout >

這個簡單的播放器只有一個界面,可以顯示播放列表和對音樂的播放進行各種操作。

4. 2 程序框架設計

在這唯一的Activity 類的界面生成消息響應方法中,先定義幾個操作按鈕,然后就要創建整個程序的主對象---mMediaPlayer 了。語句如下:

  public MediaPlayer mMediaPlayer = null;

這是一個MediaPlayer 類型的對象,它的功能前面已經介紹過了,這里不再贅述。之后要創建的就是其它的組件,包括播放列表、歌曲的路徑以及索引了。

  private List < String > mMusicList = new ArrayList < String >( ) ; / /播放列表

  private int currentListItme = 0; / /索引

  private static final String MUSIC_PATH = new String( ″ /sdcard/″) ; / /歌曲的路徑

4. 3 程序核心代碼

接下來設置這些ImageButton 的事件監聽。

  mStartImageButton. setOnClickListener(

  new ImageButton. OnClickListener( )

  {

  @ Override public void onClick( View v)

  {

  playMusic( MUSIC_PATH + mMusi-cList. get( currentListItme)

  ) ;

  }

  } ) ;

這是"開始播放"按鈕的事件監聽。這里是調用了一個playMusic( ) 方法來實現音樂文件的播放的。

在playMusic( ) 方法中,先調用mMediaPlayer 的reset( ) 方法,重置MediaPlayer 到它的正常狀態。然后調用setDataSource( string) 方法設置好音樂文件的數據源,再連續調用prepare( ) 和start( ) 方法,MediaPlayer將開始播放音樂文件。

接下來,要設置一個OnCompletionListener ( setOnCompletionListener( new OnCompletionListener ) ) ,在歌曲結束的時候,onCompletion( MediaPlayer) 會被調用,這樣就可以設置為自動播放下一曲目。代碼如下。

  mMediaPlayer. setOnCompletionListener(

  new OnCompletionListener( )

  {

  public void onCompletion( MediaPlayer arg0)

  {

  nextMusic( ) ; / /播放下一曲

  }

  } ) ;

其它方法與上面方法類似,在"停止"按鈕的事件響應方法里,要調用mMediaPlayer 的isPlaying( ) 方法來判斷播放器是否正在播放,如果正在播放則調用reset( ) 方法直接重置播放器即可。暫停則可以調用mMediaPlayer 的pause( ) 方法,再次開始播放則調用start( )。

5 結束語

Android 手機應用程序開發需要著眼于它的整個體系構架,這是一項復雜的工程。本文先是介紹并分析了Android 系統的層次架構,并在此基礎上介紹了Android 應用程序開發的相關技術和基本的開發流程。接下來介紹了Android 為開發人員提供的簡單、易用的多媒體開發組件MediaPlayer、MediaRecorder等類。最后用具體的應用程序簡要說明了Android多媒體應用程序的開發方法。Android 具有極大的開放性和兼容性,相信廣大開發者可以借助AndroidSDK 提供的強大技術支持,開發出豐富多彩、極具個性的移動應用。

此內容為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>
          麻豆精品在线播放| 欧美大片网址| 国内精品久久久久久久果冻传媒| 欧美高清在线播放| 亚洲精品在线观看免费| 亚洲欧美日韩网| 国产婷婷色一区二区三区| 在线国产精品播放| 性欧美1819性猛交| 欧美激情综合网| 亚洲欧美久久久久一区二区三区| 国产午夜精品一区二区三区视频| 亚洲永久免费精品| 欧美激情影院| 亚洲视频在线一区观看| 精品不卡视频| 久久久久久穴| 欧美一级久久久| 裸体素人女欧美日韩| 国内精品伊人久久久久av一坑| 欧美国产日韩在线| 欧美一级在线视频| 国外成人在线| 亚洲理论在线观看| 亚洲国产精品久久人人爱蜜臀| 影音先锋中文字幕一区| 久久高清一区| 激情久久久久久久久久久久久久久久| 国产精品天天看| 亚洲国产女人aaa毛片在线| 久久国产视频网| 麻豆精品在线观看| 欧美日韩精品综合| 亚洲精品国产精品国自产观看| 久久激情五月丁香伊人| 久久综合精品一区| 亚洲精品久久久久久一区二区| 国产精品久久婷婷六月丁香| 欧美一区二区三区久久精品| 红桃视频亚洲| 亚洲电影av在线| 亚洲国产日本| 黄色在线成人| 欧美搞黄网站| 欧美日韩免费区域视频在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 中文久久精品| 亚洲高清视频一区二区| 在线观看亚洲一区| 亚洲黄色大片| 亚洲视频中文| 亚洲免费婷婷| 亚洲国产精品视频一区| 国产噜噜噜噜噜久久久久久久久| 国产日韩精品久久| 在线免费观看欧美| 久久夜色精品国产欧美乱| 国产日韩欧美综合| 国产亚洲欧美日韩在线一区| 国产精品高潮呻吟久久av黑人| 激情一区二区三区| 国产精品99久久久久久久女警| 日韩亚洲欧美中文三级| 久久精品日产第一区二区三区| 国内精品久久久久久久97牛牛| 久久久精品一区二区三区| 久热精品视频在线观看| 亚洲国产黄色| 亚洲精品四区| 国产区精品在线观看| 精品51国产黑色丝袜高跟鞋| 欧美福利一区二区| 18成人免费观看视频| 国内精品久久久久影院薰衣草| 亚洲激情视频在线播放| 国产精品男gay被猛男狂揉视频| 精品成人一区| 性色av一区二区三区在线观看| 亚洲国产中文字幕在线观看| 欧美一区中文字幕| 欧美激情视频一区二区三区不卡| 亚洲——在线| 国产精品影视天天线| 久久久一区二区| 亚洲毛片av| 国产欧美在线观看一区| 亚洲日韩成人| 麻豆国产精品777777在线| 国产精品久久久久国产a级| 国产欧美一区二区三区在线老狼| 国内精品免费午夜毛片| 国内自拍亚洲| 日韩亚洲欧美一区二区三区| 美女诱惑黄网站一区| 亚洲精品亚洲人成人网| 国产视频一区欧美| 亚洲尤物视频在线| 国内精品伊人久久久久av影院| 国内精品久久久久久| 中文亚洲免费| 欧美大片免费观看在线观看网站推荐| 亚洲视频狠狠| 亚洲愉拍自拍另类高清精品| 狠狠爱综合网| 亚洲午夜日本在线观看| 亚洲国产精品精华液2区45| 在线视频精品一| 国产精品你懂的在线欣赏| 国产午夜精品全部视频播放| 亚洲视频一二三| 亚洲精选久久| 99精品国产在热久久| 亚洲国产日韩在线| 激情偷拍久久| 亚洲手机视频| 久久久久五月天| 国产婷婷色一区二区三区| 亚洲伦理在线| 99国产精品久久久久久久久久| 亚洲视频axxx| 亚洲区在线播放| 欧美黑人在线播放| 国产精品一级二级三级| 国产无一区二区| 欧美精品乱码久久久久久按摩| 午夜精品www| 亚洲色图制服丝袜| 国产一区二区三区最好精华液| 欧美激情在线狂野欧美精品| 欧美99在线视频观看| 亚洲视频1区2区| 欧美乱在线观看| 亚洲精品视频在线观看网站| 欧美中文字幕视频在线观看| 亚洲大胆视频| 亚洲一区在线观看视频| 先锋影音国产一区| 妖精成人www高清在线观看| 国产精品免费看片| 在线一区二区三区四区五区| 美女主播视频一区| 久久久久99精品国产片| 午夜一区二区三区在线观看| 欧美精品久久久久久久久老牛影院| 久久久最新网址| 亚洲免费电影在线观看| 国产精品久久久久久久久借妻| 亚洲综合视频一区| 国产一区二区三区在线观看视频| 亚洲国产视频一区二区| 欧美日韩精品二区| 欧美精品999| 99热免费精品在线观看| 亚洲精品欧美日韩| 一本久久a久久免费精品不卡| 夜夜嗨av一区二区三区四季av| 亚洲国产精品日韩| 在线观看一区视频| 一区二区三区在线视频免费观看| 亚洲人成在线播放网站岛国| 亚洲精选一区二区| 一区二区三区在线观看欧美| 欧美丝袜一区二区三区| 国色天香一区二区| 欧美日韩国产综合视频在线观看| 亚洲色诱最新| 国产欧美亚洲精品| 日韩视频在线观看| 欧美激情亚洲视频| 亚洲国产精品综合| 一区二区三区鲁丝不卡| 欧美黄色小视频| 欧美一级电影久久| 欧美日韩另类丝袜其他| 国产欧美一区二区色老头| 国产精品区一区| 久久先锋影音| 亚洲精品国久久99热| 激情一区二区| 亚洲女人天堂成人av在线| 久久亚洲国产精品一区二区| 一区二区黄色| 亚洲第一天堂av| 欧美日韩国产a| 欧美黄在线观看| 国产精品国产自产拍高清av| 午夜精品亚洲一区二区三区嫩草| 久久亚洲二区| 国产区日韩欧美| 国产一区白浆| 欧美主播一区二区三区美女 久久精品人| 亚洲第一主播视频| 亚洲影院色无极综合| 亚洲片国产一区一级在线观看| 国产精品久久久久久久久免费| 欧美在线观看www| 亚洲激情在线| 久久国产免费看| 国产女同一区二区| 老司机午夜精品视频| 国产精品一区一区| 亚洲日本无吗高清不卡| 一区二区三区精品国产| 宅男噜噜噜66国产日韩在线观看| 国产又爽又黄的激情精品视频| 国产一区二区中文字幕免费看| 久久疯狂做爰流白浆xx| 国产精品区一区二区三区| 亚洲成色www久久网站| 欧美日韩成人一区二区三区| 亚洲高清免费视频| 国产精品日韩欧美综合| 午夜视频久久久久久| 欧美激情一二区| 亚洲韩国一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲影院色在线观看免费| 欧美日韩国产va另类| 樱桃成人精品视频在线播放| 一区二区三区视频观看| 免费成人黄色| 欧美高清视频www夜色资源网| 国产精品成人av性教育| 欧美三级午夜理伦三级中文幕| 久久精品国产99国产精品澳门| 欧美激情视频一区二区三区在线播放| 久久久久这里只有精品| 国产精品日本一区二区| 亚洲精品中文字幕在线| 99v久久综合狠狠综合久久| 欧美日韩午夜视频在线观看| 国产精品一级久久久| 在线视频观看日韩| 欧美日产国产成人免费图片| 国产美女诱惑一区二区| 欧美中文字幕| 欧美日韩国产精品成人| 国产精品国产自产拍高清av| 国产精品高潮呻吟久久av黑人| 欧美有码在线观看视频| 国产婷婷色综合av蜜臀av| 国产一区二区三区四区在线观看| 激情欧美一区二区| 这里只有精品电影| 精品成人在线视频| 激情成人综合| 亚洲级视频在线观看免费1级| 开心色5月久久精品| 国产精品国产三级国产普通话99| 亚洲深爱激情| 欧美日韩午夜视频在线观看| 国内精品久久久久久久97牛牛| 久久久精品久久久久| 欧美精品久久久久久久免费观看| 亚洲精品一区二区三区福利| 欧美日韩国产色综合一二三四| 欧美成年人视频网站| 亚洲欧美成人| 欧美激情一区二区三区四区| 亚洲国产日韩欧美在线图片| 亚洲综合激情| 国产日韩欧美高清免费| 国产日韩精品一区二区| 久久国产精品一区二区三区| 极品尤物av久久免费看| 欧美黄色免费| 久久综合色88| 一区二区日韩欧美| 合欧美一区二区三区| 久久久精品一区二区三区| 国产精品看片你懂得| 欧美乱妇高清无乱码| 国产精品视频免费一区| 欧美xart系列在线观看| 亚洲黄页视频免费观看| 国产毛片精品视频| 黄色亚洲免费| 亚洲综合视频1区| 欧美精品在线极品| 久久躁日日躁aaaaxxxx| 亚洲激情电影中文字幕| 在线精品高清中文字幕| 欧美日韩免费区域视频在线观看| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲男人影院| 欧美中文在线免费| 亚洲国产日韩一区| 国产亚洲精品美女| 91久久国产综合久久蜜月精品| 亚洲六月丁香色婷婷综合久久| 欧美伦理视频网站| 亚洲综合久久久久| 欧美日韩国产123| 亚洲图片欧美日产| 亚洲激情在线激情| 亚洲欧洲一区二区天堂久久| 久久躁狠狠躁夜夜爽| 亚洲字幕一区二区| 国产精品青草久久久久福利99| 亚洲韩国青草视频| 免费久久99精品国产自| 在线观看日韩国产| 亚洲精品中文字幕有码专区| 欧美久久精品午夜青青大伊人| 日韩午夜电影在线观看| 99国产精品久久久久久久成人热| 国产欧美日韩精品a在线观看| 国产精品普通话对白| 国产午夜精品理论片a级大结局| 欧美伊人久久大香线蕉综合69| 久久疯狂做爰流白浆xx| 欧美一级精品大片| 亚洲一区二区三区在线观看视频| 国产视频一区免费看| 91久久久国产精品| 一本到高清视频免费精品| 亚洲午夜日本在线观看| 国产日韩久久| 欧美日韩黄色一区二区| 久久一区二区三区国产精品| 国产老女人精品毛片久久| 伊人久久久大香线蕉综合直播| 亚洲主播在线| 久久久久久九九九九| 国产美女精品一区二区三区| 欧美日韩一区二区三区在线视频| 国产欧美日韩亚洲精品| 性欧美长视频|