• 项目中的ijk和开源ijk的区别
  1. media 文件夹是新建的

  2. 初始化和方法注册 1) 加载第三方库 IjkMediaPlayer libLoader.loadLibrary(“ijkffmpeg”); libLoader.loadLibrary(“ijksdl”); libLoader.loadLibrary(“ijkplayer”); 2) 加载时注册java的native方法 ijksdl -> ijksdl_android_jni.c JNI_OnLoad ijkplayer -> ijkplayer_jni.c JJNI_OnLoad RegisterNatives -> tv/danmaku/ijk/media/player/IjkMediaPlayer FFmpegApi_global_init(env); -> tv/danmaku/ijk/media/player/ffmpeg/FFmpegApi

  • 参考资料: https://www.jianshu.com/p/216a41352fd8 https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html