Android多媒體系統的業務

來源:互聯網
上載者:User

標籤:android   media   camera   surface   recorder   

請支援原創,尊重原創,轉載請註明出處:http://blog.csdn.net/kangweijian(來自kangweijian的csdn部落格)

Android 多媒體應用的主要業務
  1. Music Player
  2. Video Player
  3. Camera
  4. Sound Recorder
  5. VideoCamera
  6. Media Metadate
媒體播放器結構

媒體播放器是多媒體中最重要的一個環節,媒體播放器涉及以下內容:

  • 本地媒體架構中的媒體播放器部分
  • PVPlayer(實現的核心代碼)
  • 音頻、視頻編解碼模組(可選)
  • 音訊輸出環節
  • 視頻輸出環節(Surface系統或者Overlay)
  • android.media.MediaPlayer類
  • android.view.Surface類
  • android.widget.VideoView類
  • Music應用程式套件組合和Camera應用程式套件組合(視頻播放的MovieView類)

  • 典型的資料流在Android媒體播放器中的運行情況是:上層的Java應用程式將媒體的URI(可以是媒體檔案和流媒體)作為輸入設定到媒體播放器中,經過Java架構、JNI和本地架構,一直設定到由PVPlayer中。在這個過程中,只是傳遞了媒體URI路徑,並無資料流傳遞。由PVPlayer進行解析後,將媒體分成音頻流(MP3、AMR、AAC等)和視頻流(H263、H264、MPEG4等),經過轉碼器的處理和同步(AVSync),轉換成未經處理資料(音頻一般是PCM,視頻一般是YUV或者RGB格式)。音視頻未經處理資料將被送入音頻和視頻的輸出環節中。
  • 在實現的過程中,媒體播放器可能有一些變化:僅有音頻資料時,只需要進行音頻解碼,且不需要做音視頻的同步工作:硬體的解碼環節可以作為PVPlayer的外掛程式完成編解碼工作;標準的實現是解碼環節解碼後,音視頻的未經處理資料從使用者控制項傳遞到音視頻輸出環節中,但是如果使用硬體解碼器,音視頻的未經處理資料也可以不經過使用者控制項,直接輸入到硬體裝置上;作為視頻的輸出裝置,可以基於Android中的通用的Surface介面或者Overlay系統。
照相機系統結構

照相機是多媒體中比較獨立的環節,照相機涉及的內容如下:

  • 本地的Camera的架構;
  • 映像編碼模組(可選);
  • 視頻輸出環節(Surface系統或者Overlay);
  • android.hardware.Camera類;
  • android.view.Surface類;
  • Camera應用程式套件組合。

Android的照相機系統主要有兩種業務:取景器(ViewFinder)和拍攝照片。取景器實現了預覽(Preview)功能,拍攝照片的輸出是照片檔案,取景器預覽的輸出是Android的Surface。照相機一般只需要實現JPEG資料的編碼,不需要視頻流編碼,因此通常不經過PacketVideo。

錄音機系統結構

錄音機系統只設計音頻部分,其結構比較簡單。錄音機涉及的內容如下:

  • 本地媒體架構中的媒體記錄器部分
  • PVAuthor(實現的核心部分)
  • 音頻編碼模組(可選)
  • 音頻輸入環節
  • android. media.MediaRecorder類
  • SoundRecorder包

  • Android的錄音機功能比較單一,其資料流的運轉情況通常是從音訊輸入環節中獲得PCM資料,經過PVAuthor進行編碼,編碼後加入媒體的頭資訊形成音頻媒體檔案。錄音的編碼也可以使用硬體的編碼環節。

  • 錄音機的Java應用SoundRecorder具有錄音完成後播放功能,因此既需要調用Java架構的媒體記錄器部分,也需要調用媒體播放器部分。
攝像機系統結構

攝像機是多媒體中比較複雜的一個部分,攝像機涉及的內容如下:

  • 本地媒體架構中的媒體記錄器部分;
  • PVAuthor(實現的核心部分);
  • 音頻/視頻編碼模組(可選);
  • 音頻輸入環節;
  • Camera的本地介面(作為視頻輸入環節);
  • 視頻輸出環節(Surface系統或者Overlay);
  • android.media.MediaRecorder類;
  • android.view.Surface類;
  • android.widget.VideoView類;
  • Music包和Camera包。

  • Android的攝像機系統有3個方面的業務:視頻預覽、視頻錄製、音頻錄製。攝像機系統單純的視頻預覽功能和照相機的預覽基本一致。在錄製的過程中,實際上是視頻預覽和錄製、音頻錄製三者同時進行的,視頻未經處理資料從Camera的硬體硬體抽象層送上後,將同時被送到視頻輸出系統和PVAuthor中;音頻未經處理資料從音訊輸入裝置中得到,也被送入打牌PVAuthor中,PVAuthor對音頻資料進行同步和編碼之後,增加媒體檔案的頭資訊,寫入到媒體檔案上。在這個過程中,編碼環節也可以使用硬體實現的外掛程式模組,以提高系統的效能。
  • 媒體錄製和媒體播放的過程基本相反,但是多了視頻預覽的環節。
  • 攝像機的Java應用是Camera包中的VideoCamera,視頻播放的應用也被包含在Camera包中,基於VideoView實現。
《Android系統原理及開發要點詳解》筆記   by2015.2.23晚

請支援原創,尊重原創,轉載請註明出處:http://blog.csdn.net/kangweijian(來自kangweijian的csdn部落格)

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.