美文网首页
IJKPlayer学习

IJKPlayer学习

作者: 重新起步 | 来源:发表于2023-02-08 15:45 被阅读0次

    参考文档
    github官网
    ijkplayer系列
    视频教程
    ijkplayer视频播放器源码分析

    IjkVideoView
    IjkVideoView并不在IJKplayer的jar包中,这个在IJKplayer的github官网下载的代码的demo中,可以找到;
    我们开发的时候,可以仿照这个IjkVideoView去创建我们自己需要的VideoView;
    IjkVideoView主要作用就是把三个关键类组合起来

    image.png

    三个比较关键的类
    IRenderView.ISurfaceHolder:负责显示视频的ui,可以是SurfaceView也可以是Textureview
    IMediaplayer:播放器,可以是MediaPlayer,ExoPlayer或者IJKPlayer
    IMediaController:控制界面,控制播放器,播放暂停,seek,开始;

    image.png
    这个和EXOPlayer的设计基本是一致的;

    IjK内部创建了一个IMediaPlayer,然后AndroidMediaPlayer,IjkMediaPlayer,IjkExoMediaPlayer都要实现这个接口,这样做事为了方便方便切换播放器内核;
    AndroidMediaPlayer对应MediaPlayer
    IjkExoPlayer对应ExoPlayer


    image.png

    IjkMediaPlayer就是我们的主角;

    IjkMediaPlayer:内部都是JNI调用,有点类似于MediaPlayer;


    image.png

    jni对应的so库就是上面三个so库,其内核应该就是FFMPEG;

    状态机:


    image.png

    相关文章

      网友评论

          本文标题:IJKPlayer学习

          本文链接:https://www.haomeiwen.com/subject/lbmqkdtx.html