cocos 播放视频
https://jishu.proginn.com/doc/78206474c9089491b
腾讯开心鼠项目使用的游戏引擎是 Cocos Creator,由于引擎提供的视频组件实现方式问题导致视频组件和游戏界面分了层,从而导致了以下若干问题:
不可以在视频组件上添加其他渲染组件;
不可以使用遮罩组件来限定视频形状;
退出场景时存在视频组件残影;
等等...
核心问题就是分层问题,对于开心鼠项目带来的最大弊端就是:一套设计,Android,iOS,Web 三端需要各自实现,开发和维护成本高,又因为平台差异化,还存在视觉不一致和表现不一致问题。
解决方案
因为开心鼠项目需要兼容 Android,iOS 和 Web 三端,Android 和 iOS 一起视为移动端,所以解决方案有以下两点:移动端可使用 FFmpeg 库解码视频流,然后使用 OpenGL 来渲染视频,和使用 Andorid, iOS 两端各自的音频接口来播放音频;
网页端可以直接使用 video 元素来解码音视频,然后使用 WebGL 来渲染视频,和使用 video 元素来播放音频。