GSYVideoPlayer基于 IJKPlayer 的视频播放器
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 。
评论