获取Android媒体播放器的内部详细信息

获取Android媒体播放器的内部详细信息,android,android-mediaplayer,Android,Android Mediaplayer,我想分析和调试一个视频文件是如何在android中播放的。我搜索了很多,但我只知道MediaPlayer类如何与内部MediaPlayer引擎交互,我无法了解内部MediaPlayer引擎在android中的工作方式。感谢您的帮助。 谢谢。MediaPlayer(MediaPlayer.java)从应用程序的角度来看是主要的MediaPlayer抽象。它通过JNI接口(android\u media\u MediaPlayer.cpp)与本机MediaPlayer实现(MediaPlayer.c

我想分析和调试一个
视频
文件是如何在android中播放的。我搜索了很多,但我只知道
MediaPlayer
类如何与内部MediaPlayer引擎交互,我无法了解内部MediaPlayer引擎在android中的工作方式。感谢您的帮助。 谢谢。

MediaPlayer
MediaPlayer.java
)从应用程序的角度来看是主要的
MediaPlayer
抽象。它通过
JNI
接口(
android\u media\u MediaPlayer.cpp
)与本机
MediaPlayer
实现(
MediaPlayer.cpp
)进行交互

要创建的
player
类型通过
MediaPlayerService
中的参数确定。通常创建
StagefrightPlayer
NuPlayer

如果创建了
StagefrightPlayer
,则实际的
player
AwesomePlayer
实现

AwesomePlayer
将类似的
API
公开给主
MediaPlayer
实现,因此,除了由
AwesomePlayer::play
实现的
MediaPlayer::start
之外,您可以找到两者之间几乎1:1的映射

AwesomePlayer
将创建
MediaExtractor
,它将在内部为特定曲目创建抽象,作为单个
曲目的源

AwesomePlayer
在内部创建
audio
video
跟踪特定对象,例如
AudioPlayer
OMXCodec

我在这里回答了你的另一个问题:它概述了
AV同步
以及
AwesomePlayer
在处理
视频
曲目时的功能


我希望这些信息足以供您学习。

谢谢您的详细回答。