……和从上层调用到RTMediaPlayer类似。
frameworks\base\media\java\android\media:MediaPlayer
public MediaPlayer() {
……
native_setup(new WeakReference(this));
}
frameworks\base\media\jni:android_media_MediaPlayer
static void
android_media_MediaPlayer_native_setup(JNIEnv *env, jobject thiz, jobject weak_this)
{
sp mp = new MediaPlayer();
}
frameworks\av\media\libmedia:MediaPlayer.cpp
MediaPlayer::MediaPlayer()
{
ALOGV(“constructor”);
mListener = NULL;
mCookie = NULL;
mStreamType = AUDIO_STREAM_MUSIC;
mAudioAttributesParcel = NULL;
mCurrentPosition = -1;
mCurrentSeekMode = MediaPlayerSeekMode::SEEK_PREVIOUS_SYNC;
mSeekPosition = -1;
mSeekMode = MediaPlayerSeekMode::SEEK_PREVIOUS_SYNC;
mCurrentState = MEDIA_PLAYER_IDLE;
mPrepa
从上层调用到NuPlayerDriver的构造函数
最新推荐文章于 2024-06-07 09:58:58 发布
本文详细介绍了从Android上层的MediaPlayer构造到NuPlayerDriver的创建过程,涉及Native层的初始化,包括ALooper、NuPlayer的创建,以及状态管理和分析记录的设置。通过对NuPlayerDriver构造函数的分析,揭示了媒体播放组件的工作原理。
摘要由CSDN通过智能技术生成