划重点:Android、iOS、HarmonyOS 等平台统统支持!如 HLS、MP4、FLV 等多种协议和格式也都支持~
-
功能支持全面,降低开发成本:
-
REDPlayer 同时支持多端(如:Android、iOS、HarmonyOS 等)点播、直播下的多种协议和格式(如:HLS、MP4、FLV 等);
-
支持预载、边下边播等功能,减少等待时间,提升播放流畅性,给用户更好的观看体验;
-
选择性支持 HDR、超分等能力;
-
便利的二次开发:
-
架构清晰、结构简单,各模块耦合度低且可插拔、拓展性较好,能满足不同包体积要求下的业务使用;
-
低成本:
-
内存占用较小、接入成本较低,可同时满足不同的场景使用(如:课堂学习、企业商用等);
-
用户自主性高:
-
可选择直接根据 Interface 快速接入 SDK 使用、也可以选择基于 REDPlayer 代码做二次开发。开发者们可以根据自身需要选择。
目前 REDPlayer 开源的功能支持用于创建更复杂的场景,例如在播放一个视频的过程中,用户可以通过拖动进度条进行实时预览,或在观看过程中同时输入文字形成弹幕等,以丰富整个互动场景的体验。甚至,可以通过 REDPlayer,实现将抠图后的人像与视频画面共享叠加在一起的新视频画面。
那么如何开始集成 REDPlayer 呢?REDPlayer 支持两种形式的接入方式,即直接 SDK 接入和代码接入,下面将针对这两种方式进行一一说明。
1、直接 SDK 接入
具体步骤如下:
步骤 1:
IMediaPlayer mMediaPlayer = new RedMediaPlayer(); //创建播放器、初始化
步骤 2:
mMediaPlayer.setDataSource(mAppContext, url); //设置url
mMediaPlayer.setEnableMediaCodec(true); //配置播放参数 mMediaPlayer.setVideoCacheDir(cacheDir);mMediaPlayer.setLoop(true);...
mMediaPlayer.prepareAsync(); //prepare
mMediaPlayer.start(); //开始播放,prepared状态后调用至此,视频已经正常播起来了,接下来用户可以根据需要调用不同的接口(具体可见 INTERFACE 介绍)获取对应的信息或做对应的动作,如:void pause(); //暂停播放void stop(); //停止播放void reset(); //重置播放void release(); //退出播放long getCurrentPosition(); //获取播放位置long getDuration(); //获取视频时长float getSpeed(); //获取播放速度
2、C++ 代码接入
该模块可基于上述架构图中介绍,用户选择性地接入或替换,在此暂不做详细说明,具体可见开源工程(https://github.com/RTE-Dev/RedPlayer)。
💪写在最后


