首页 > 其他分享 >Cocos实例3:VideoPlayer组件使用常见问题集

Cocos实例3:VideoPlayer组件使用常见问题集

时间:2024-03-26 11:01:16浏览次数:27  
标签:视频 Cocos 常见问题 VideoPlayer 自动播放 组件 播放 节点

VideoPlayer组件使用常见问题集

Q1:为什么视频不能自动播放?即使勾选了PlayOnAwake属性。

  • 首先要确定是不是平台限制,在Web平台下,某些浏览器出于安全性和用户体验考虑,会阻止网页内嵌视频自动播放音频。在这种情况下,即使设置了 playOnAwake 也可能不会自动播放,除非用户有交互行为(如点击页面)。
  • 其次检查是不是文件没有完全加载,大体积的视频资源加载较慢,需要等加载完成后才会播放。如果是这个问题,可以通过预加载视频资源或在代码中监听META_LOADED(视频信息加载完成),加载完成后再play视频。这里需要注意监听事件,官方提供了READY_TO_PLAY,但亲测部分平台是无效的。
  • 另外检查下节点或父节点的active是否为true,如果节点在其父节点之前激活,可能会导致 playOnAwake 不生效。
  • 有些浏览器允许自动播放视频,但如果视频有音音轨也可能会禁止自动播放,因为和前面一样,平台可能会阻止音频自动播放,除非用户有交互行为。实际上大部分情况需要在多平台发布,需要尽量避免第四种情况的发生。

为什么VideoPlayer组件在代码中play不生效?

  • 排除资源问题(视频格式和编码不支持),Web平台存在浏览器安全策略限制,会阻止自动播放音、视频。需要在用户交互(如点击)之后才能播放视频。

为什么VideoPlayer play在交互逻辑中,预览视频仍不能播放,往往会停在第一帧或着黑屏?

  • 排除资源问题,可能是视频未加载完成,可以监听onMetaLoaded处理播放逻辑;没有在用户交互时同步播放,异步播放会导致视频播放不生效。

为什么在VideoPlayer节点上添加透明组件无效果

  • VideoPlayer组件渲染的是底层的WebGL视频纹理,它的透明度控制不同于普通的2D UI节点。CocosCreator中VideoPlayer组件不支持透明度控制

为什么VideoPlayer设置层级无效?

  • VideoPlayer 节点与其他节点一样,存在于场景的节点树结构中,受父节点是否激活影响。在Web环境中,VideoPlayer是通过H5原生 元素实现的,这种情况下,视频元素不受Cocos Creator的普通层级控制,而是依赖于DOM层级。VideoPlayer在Creator中默认显示在最上层,但也提供了设置在最下层的方式:1.在项目设置->宏配置->勾选ENABLE_TRANSPARENT_CANVAS;
    2.在属性检查器中勾选VideoPlayer的stayOnBottom属性。
    需要注意的是,如果VideoPlayer设置在最下层,则无法监听VideoPlayerEvent中的clicked事件,如果需要可以在对应的位置添加一个UI节点用于响应事件。

Q6:如何在VideoPlayer的上层显示UI

Q7:如何实现VideoPlayer在中间层

  • CocosCreator中的Mask组件适用于2D Sprite 或者 UI 元素的内容裁剪显示,受限于VideoPlayer渲染机制,Mask就无法再配合VideoPlayer了。不过可以使用另外的方法去结合Mask组件实现,示例同上参照Cocos实例2:实现VideoPlayer奥利奥夹心饼干

Q8:静音后,VideoPlayer播放仍有声音

  • VideoPlayer 组件有自己的音频控制选项,如果没有正确配置或者适配全局静音开关,则即使全局静音,其所包含的音频轨道仍会播放。如果有需要,可以在静音逻辑里实现对VideoPlayer音频的控制。

Q9:为什么在手机端无法播放

  • 检查是否有视频加载监听事件,注意监听META_LOADED,而不是READY_TO_PLAY

标签:视频,Cocos,常见问题,VideoPlayer,自动播放,组件,播放,节点
From: https://blog.csdn.net/qq_43242691/article/details/137006687

相关文章

  • Cocos实例2:实现VideoPlayer奥利奥夹心饼干
    实现VideoPlayer奥利奥夹心饼干在CocosCreator中,VideoPlayer支持的视频格式为mp4,所以在需要使用到VideoPlayer组件时,确保视频资源是正确的编码和格式。另外不同平台对于VideoPlayer组件的授权、API都不同,并没有形成统一的标准,Creator中的VideoPlayer组件目前只支持Web......
  • CocosCtreator知识点4:Creator中的坐标系和节点属性详解
    Creator中的坐标系和节点属性详解在CocosCreator中,游戏场景(Scene)是开发时组织内容的基础,也是呈现给玩家所有游戏内容的载体。而节点是场景的基础组成单位。可以把场景理解为组织内容的空间或平台,所有的内容(节点)通过其位置属性确定在该空间中的某个位置呈现。而为了确定空间......
  • Linux常见问题
    Linux常见问题一、linux网络错误ping:www.baidu.com:未知的名称或服务原因分析,linuxping不通原因1、可能是网络配置文件设置错误检查网络配置文件:vim/etc/sysconfig/network-scripts/ifcfg-ens33仔细检查红框中的信息解释ONBOOT=yes#设置开机启动网络,这样就不需......
  • JavaScript:void(0) 用法及常见问题解析
    JavaScript:void(0)用法及常见问题解析javascript:void(0);是一种在JavaScript和网页开发中经常使用的技术,尤其在处理链接的行为时。本文将深入探讨javascript:void(0);的用法,以及在使用过程中可能遇到的常见问题和解决方法。什么是javascript:void(0);?javascript:v......
  • VMware Workstation常见问题
    目录1无法创建11264MB的匿名分页文件:页面文件2虚拟机安装Windows11时出现:temptingtostartupfrom:+EFIVMwareVirtualN3主机访问虚拟机失败4linux系统中安装vmtools5拍摄快照6物理机与虚拟机之间传递数据7界面技巧待续、更新中1无法创建11264MB的匿名......
  • 一次性搞定!思源字体安装、使用及常见问题解答
    环境Windows11Pro23H2Microsoft365Word2402思源宋体:v2.002思源黑体:v2.0041.结论本人非专业字体工作者,个人建议,仅供参考;先说结论,链接以及详细说明见后文安装SC版本,无其余后缀HW,VF,CN等关于HW,思源宋体没有HW版本,个人实测,非HW版本,英文数字采用比例......
  • 初探 Cocos Creator: 碰撞与物理系统
    前言不知道你刚开始玩碰撞时,会不会遇到始终无法触发碰撞事件?玩物理系统时,自由落体的刚体会穿过“地面”刚体等情况?没错我全都遇到过,那么下面我就用红蓝色方块,简单实战一下CocosCreator的碰撞与物理系统。 场景创建场景很简单,一个白色背景,两个红蓝色玩家,和一个绿色大草......
  • javascript:void(0);用法及常见问题解析
    javascript:void(0);是一个常见的JavaScript代码片段,通常用于在HTML中作为超链接的href属性值或者事件处理函数的返回值。下面是关于它的用法和常见问题的解析:用法:作为超链接的href属性值:<ahref="javascript:void(0);">点击这里</a>这样做的作用是让点击链......
  • LiveGBS流媒体平台GB/T28181常见问题-与海康NCG大华VIS等国标平台对接如何判断自身是
    LiveGBS与海康NCG大华VIS等国标平台对接如何判断自身是上级还是下级?1、背景2、判定上级或是下级3、LiveGBS作为上级4、LiveGBS作为下级5、搭建GB28181视频直播平台1、背景国标项目实施的过程中,经常要与海康、大华、华为、宇视等国标视频平台对接,此时LiveGBS是作为下......
  • 三种方式,浅谈 Cocos Creator 的动画添加
    前言虽然Cocos的官方文档对动画系统做了较详细的介绍,但是对于刚接触的同学(比如我)来说还是不太友好。尽管如此,我就按文档加社区帖子一起实践了一下。为了方便忘记后能快速捡起,所以就用我的方式结合使用场景,简单介绍一下CocosCreator动画添加的三种方式。属性动画这个是Co......