2013-03-27 82 views
0

我想分析和調試在android中播放video文件的方式。我搜索了很多,但我只得到MediaPlayer類如何與內部媒體播放器引擎交互,我無法得到如何內部媒體播放器引擎在Android中工作。任何幫助表示讚賞。 謝謝。在Android中獲取媒體播放器的內部細節

回答

1

MediaPlayerMediaPlayer.java)是從應用程序角度提取的主要MediaPlayer抽象。它通過JNI接口(android_media_Mediaplayer.cpp)與它的本地MediaPlayer實現(Mediaplayer.cpp)進行交互。

要創建的player的類型是通過參數MediaPlayerServiceMediaPlayerFactory決定的。通常會創建StagefrightPlayerNuPlayer

如果創建了StagefrightPlayer,則實際由AwesomePlayer執行player

AwesomePlayer暴露類似API到主MediaPlayer執行從而,可以找到一個幾乎1:兩者1映射,除了MediaPlayer::start其通過AwesomePlayer::play實現。

AwesomePlayer將創建MediaExtractor在內部將創建特定軌道抽象爲MediaTrack充當源用於各個tracks

AwesomePlayer內部創建audiovideo跟蹤特定對象,如AudioPlayerOMXCodec

我已經回答了你這裏的另一個問題:What is meant by event in Android Media Player?其中概述的AwesomePlayerAV Synchronization和功能在處理video軌道。

我希望這些信息足夠您的學習。

+0

謝謝您的詳細解答。 – Kiran 2013-03-28 19:18:40