Android 多媒體系統

來源:互聯網
上載者:User

標籤:

 Android系統能夠錄製、播放各種不同形式的本地和流式多媒體檔案。Android的多媒體系統為Android裝置多媒體的開發和應用提供了非常好的平台。

一、Android多媒體系統架構

        Android的多媒體架構涉及到應用程式層、JAVA架構、C語言Native架構、硬體抽象層(驅動層)等環節。下面是Android的多媒體系統架構層次圖。

       

                  圖13-1  Android多媒體系統架構層次圖


        可以看出,Android多媒體系統架構又分為四層結構,分別是Java應用組件層、Java應用程式架構層、系統運行庫C語言Native層以及Linux核心驅動層,下面按照從上到下的順序分別介紹

        1)Java應用組件層

        Android平台提供了三個不同的多媒體功能。

        Camera:Android架構套件含了對各種攝像機及其功能的在Android裝置上的支援,它可以使用者在其應用程式中捕獲的照片和錄影。
        Media Recorder:Android的MediaRecorder包含了Audio和video的記錄功能。
        Media Player:Android的MediaPlayer包含了Audio和video的播放功能。

        2)Java應用程式架構層

        Android平台提供了四個不同的Java組件編程介面:Camera、MediaRecorder、MediaPlayer和Surface。這四個編程介面,幾乎可以實現Android系統所有多媒體功能。

        Android.Hardware.Camera:該Java類提供了對攝像機操作的編程介面。
        Android.Media.MediaRecorder:該Java類提供了在Android的介面上,Audio和Video兩個應用程式都是調用MediaRecorder實現的。
        Android.Media.MediaPlayer:該Java類提供了在Android的介面上播放Audio和Video兩個應用程式的編程介面。
        Android.View.Surface:被screen compositor管理的raw buffer控制代碼。

        3)系統運行庫Native層

        Android系統運行Native庫層主要分為Camera硬體庫、PacketVideo架構和Surface庫三部分:

        Camera硬體庫:提供了操作底層Camera硬體的C語言庫。
        PacketVideo架構庫:多媒體庫,基於PacketVideo OpenCore;支援多種常用的音頻、視頻格式錄製和回放,編碼格式包括MPEG4、MP3、H 264、AAC、ARM。
        ALSA Audio:又名進階Linux聲音體系(Advanced Linux Sound Architecture)。是Linux核心中,為音效卡提供的驅動組件,以替代原先的OSS(開放聲音系統)。 一部分的目的是支援音效卡的自動設定,以及完美的處理系統中的多個聲音裝置,這些目的大多都已達到。另一個聲音架構JACK使用ALSA提供低延遲的專業級音頻編輯和混音能力。
        Android.View.Surface:執行多個應用程式時候,負責管理顯示與存取操作間的互動,另外也負責2D繪圖與3D繪圖進行顯示合成。

        4)Linux核心驅動層

        該層提供了對硬體驅動的支援,包括攝像機、硬體編解碼、音頻/視頻驅動等。

二、Android多媒體系統功能

        多媒體主要包括兩方面的內容:音頻視頻的輸入輸出、編解碼環節。

        其中,輸入輸出環節由其他方面的硬體抽象層實現,中間處理環節主要由PacketVideo實現,可以使用硬體加速。

        總的來說,Android的多媒體系統通過其開放平台,以強大的函數庫支援,其功能包括如下內容:音頻播放、視頻播放、攝像功能、音頻錄製、視頻錄製。

三、OpenCore簡介

        OpenCore是Android多媒體系統的核心。與Android的其它程式庫相比,OpenCore是一個基於C++代碼實現的多媒體庫,它定義了全功能的作業系統移植層,各種基本的功能均被封裝成類的形式,各層次之間的介面多使用繼承等方式。

        它主要包含了兩大方面的內容:

        PVPlayer:提供媒體播放器的功能,完成各種音頻(Audio)、視頻(Video)流的回放(Playback)功能;
        PVAuthor:提供媒體流記錄的功能,完成各種音頻(Audio)、視頻(Video)流的以及靜態映像捕獲功能;

        PVPlayer和PVAuthor以SDK的形式提供給開發人員,可以在這個SDK之上構建多種應用程式和服務。

四、OpenMAX簡介

        OpenMax是一個多媒體應用程式的架構標準。其中,OpenMax IL(整合層)技術規格定義了媒體組件介面,以便在嵌入式器件的流媒體架構中快速整合加速轉碼器。

        OpenMax分成三個層次,自上而下分別是,OpenMax DL(開發層),OpenMax IL(整合層)和OpenMax AL(應用程式層)。三個層次的內容分別如下所示。

        第一層:OpenMax DL(Development Layer,開發層)

        OpenMax DL定義了一個API,它是音頻、視頻和映像功能的集合。矽供應商能夠在一個新的處理器上實現並最佳化,然後編解碼供應商使用它來編寫更廣泛的轉碼器功 能。它包括音頻訊號的處理功能,如FFT和filter,映像原始處理,如色彩空間轉換、視頻原始處理,以實現例如MPEG-4、H.264、MP3、 AAC和JPEG等轉碼器的最佳化。

        第二層:OpenMax IL(Integration Layer,整合層)

        OpenMax IL作為音頻、視頻和影像轉碼器能與多媒體轉碼器互動,並以統一的行為支援組件(例如,資源和皮膚)。這些轉碼器或許是軟硬體的混合體,對使用者是透 明的底層介面應用於嵌入式、行動裝置。它提供了應用程式和媒體架構,透明的。S轉碼器供應商必須寫私人的或者封閉的介面,整合進行動裝置。IL的主要目 的是使用特徵集合為轉碼器提供一個系統抽象,為解決多個不同媒體系統之間輕便性的問題。

        第三層:OpenMax AL(Appliction Layer,應用程式層)

        OpenMax AL API在應用程式和多媒體中介軟體之間提供了一個標準化介面,多媒體中介軟體提供服務以實現被期待的API功能。

 

Android 多媒體系統

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.