GSYVideoPlayer - 基于 IJKPlayer 的视频播放器


Apache 2.0
跨平台
Java

软件简介

GSYVideoPlayer 是基于 IJKPlayer(兼容系统 MediaPlayer 与 EXOPlayer2 ),实现了多功能的视频播放器。

项目结构:

  • Player 播放内核层 :IjkMediaPlayer、ExoPlayr2、MediaPlayer(IPlayerManager)。

  • Manager 内核管理层 :GSYVideoManager(GSYVideoBaseManager <- GSYVideoViewBridge)。

  • Video 播放器控件层 :GSYTextureRenderVIew 到 GSYVideoPlayer 五层。

  • Render 渲染控件层 :TextureView、SurfaceView、GLSurfaceView(GSYRenderView <- IGSYRenderView)。

结构图:

  • 管理层 GSVideoManager 继承 GSYVideoBaseManager ,通过 IPlayerManager 控制播放内核。

  • 管理层 GSVideoManager 实现了 GSYVideoViewBridge ,和 UI 层交互(主要通过 UI 层的GSYVideoPlayer)。

  • UI 层 GSYTextureRenderView 通过 GSYRenderView ,内置 IGSYRenderView 实现类,和渲染层交互。

  • UI 层逐层继承实现各层逻辑,内部大部分方法为 protect 。