插件video在wx平台不可以播放视频

cocos 版本 2.4.9 https://github.com/cocos/cocomat 用了官方和腾讯的列子在游览器 和编辑器预览没啥问题 打包发到wx平台测试 发现视频播不出来 有人遇到没?

我也有遇到过, 就是暂时也没找到比较好的解决方案,
微信那个方法有点难用

那请问大佬你没有用这个 用啥其他方式?

:upside_down_face:
没有 , 后面直接放弃了

简单看了一下 native就是ffmpeg解码 web是video组件解码
微信小游戏是明确支持的吗? 不清楚微信小游戏没有video组件

这边想在视频上加按钮 看到了这个方式不需要改这改那等我就拿来用 没想到 微信上面不行

视频挂服务器远程资源 调用WX的video

那这样按钮是不是还是视频层级下面

https://developers.weixin.qq.com/minigame/dev/api/media/video/wx.createVideo.html
有一个属性
underGameView boolean false 否 视频是否显示在游戏画布之下(配合 Canvas.getContext(‘webgl’, {alpha: true}) 使主屏 canvas 实现透明效果)

这样操作的话 界面来回切 ui会透明发白 而且我们用的fairygui去搭的界面 改图片这块工程量太大了

放弃把 之前做过,只能用VX的API 创建视频,而且只能用在线视频,效果奇差,而且很多地方要改层级,背景透明度也要改,很麻烦。

要看效果的话 可以搜下小游戏,沪上星火 翻书的效果 就是视频

https://developers.weixin.qq.com/miniprogram/dev/api/media/video-decoder/wx.createVideoDecoder.html
微信小游戏提供了wx.createVideoDecoder 这个视频解码器
我尝试操作了一下 是可以做到按帧解码成RGBA数据 把数据上传到纹理对象给精灵显示 是可以做到视频纹理精灵 好处是层级灵活运用
如果视频/游戏 没有层级要求 可以使用wx.createVideo这个API直接播放全屏视频得了

2赞

确实是个突破口

这边试了下 取到数据渲染到cocos 这边 渲染不出来 能否给下demo参考一下 大佬

初始化
let u8Arr = new Uint8Array(4);
this._videoTexture2D = new cc.Texture2D();
this._videoTexture2D.initWithData(u8Arr, cc.Texture2D.PixelFormat.RGBA8888, 1, 1);
let spf = new cc.SpriteFrame(this._videoTexture2D);
this.videoSp.spriteFrame = spf;

解码循环赋值
let rData = this._wxVideoImpl.getFrameData();
if (rData == null) {
return;
}
let u8Arr = new Uint8Array(rData.data);
this._videoTexture2D.initWithData(u8Arr, cc.Texture2D.PixelFormat.RGBA8888, rData.width, rData.height);

3赞

我也遇到了,chrome预览正常,在字节小游戏不能放视频,请问您最终有解决这个问题吗?