MediaPlayer 源码分析

MediaPlayer有create(),prepare(),prepareAsync(),setDataSource(),start(),pause(),release()等方法,MediaPlayer代码路径是在frameworks/base/media/java/android/media/MediaPlayer.java,MediaPlayer继承PlayerBase,并且实现了SubtitleController.Listener, VolumeAutomation和AudioRouting接口。

1. MeddiaPlayer.java

初始化,初始化MediaPlayer会去创建一个EventHandler,用于接收native层返回的各种消息处理,然后返回到应用端。最后也是执行了native_setup()方法,该方法也是一个native方法,对应在android_media_MediaPlayer.cpp中的实现是android_media_MediaPlayer_native_setup()

 private MediaPlayer(Context context, int sessionId) {
        super(new AudioAttributes.Builder().build(),
                AudioPlaybackConfiguration.PLAYER_TYPE_JAM_MEDIAP

你可能感兴趣的:(music,android,音频,java)