0

我想分析和调试一个video文件是如何在android中播放的。我搜索了很多,但我只知道MediaPlayer类如何与内部媒体播放器引擎交互,我无法了解内部媒体播放器引擎在 android 中的工作方式。任何帮助表示赞赏。谢谢你。

4

1 回答 1

1

MediaPlayer( ) 是从应用程序角度来看MediaPlayer.java的主要抽象。它通过接口 ( )MediaPlayer与其本机MediaPlayer实现 ( ) 交互。Mediaplayer.cppJNIandroid_media_Mediaplayer.cpp

player要创建的类型由MediaPlayerServicethrough中的参数决定MediaPlayerFactory。通常StagefrightPlayer或被NuPlayer创建。

如果StagefrightPlayer被创建,则实际playerAwesomePlayer.

AwesomePlayer暴露类似于 API主要MediaPlayer实现,因此,您可以在两者之间找到几乎1:1的映射,除了MediaPlayer::startAwesomePlayer::play.

AwesomePlayer将创建MediaExtractorwhich 在内部将创建特定轨道的抽象MediaTrack作为个人的源tracks

AwesomePlayer在内部创建audiovideo跟踪特定对象,例如AudioPlayerOMXCodec

我在这里回答了您的另一个问题:Android Media Player 中的事件是什么意思?它概述了处理轨道的AV Synchronization功能和功能。AwesomePlayervideo

我希望这些信息对你的学习是足够的。

于 2013-03-28T02:04:12.577 回答