一、引言
ijkplayer 开源的同时被很多厂商改成本地播放或者网络播放原因是他框架上高度集成了基于native层ffmpeg,同时框架也很清晰,我的上家公司是红极一时整机厂商,采用这个框架初衷是由于框架足够精简同时移植性极高。
ijkplayer拆解出来,先从java层入手再到jni再到native 层。
二、java层分析
关注播控逻辑相关的java主要是下面三个文件。
1)启动acitvity相关
ijkplayer-apk\ijkplayer\ijkplayer-example\src\main\java\tv\danmaku\ijk\media\example\activities\VideoActivity.java
2)播控相关java层的逻辑
ijkplayer-apk\ijkplayer\ijkplayer-example\src\main\java\tv\danmaku\ijk\media\example\widget\media\IjkVideoView.java
3)适配对native层接口的封装
ijkplayer-apk\ijkplayer\ijkplayer-java\src\main\java\tv\danmaku\ijk\media\player\IjkMediaPlayer.java