-
Creator 版本:
-
目标平台:
需求: 做一个嵌入到游戏内的视频,允许UI出现在视频上层,查资料发现没有啥好办法,然后找到微信开发者文档有一个VideoDecoder的解码流,解码出来的视频帧被转换成了RGB数据,游戏内怎么接收RGB数据显示呢? 我看2.x好像有个initWithElement可以,但是3.x没有找到相关接口
微信文档链接:视频 | 微信开放文档
1赞
不知道现在能用不,之前用微信这个解码有问题,好像视频超过几秒就不行了,还是抖音视频解码完善直接用
demo可以用,集成进来声音播放也没啥问题,就是图片显示现在没啥思路
initWithData 整个方法被移除,类似的使用是将原先要传入的 ArrayBufferView 数据,传给新建的 ImageAsset ,然后再用 ImageAsset 传给新建的 Texture2D ,从而获得一份图片资源
// 1. 确保数据是 Uint8Array(如果是 ArrayBuffer,则转换)
const uint8Data = buffer instanceof Uint8Array ? buffer : new Uint8Array(buffer);
// 2. 创建 ImageAsset
const imageAsset = new ImageAsset();
imageAsset.reset({
_data: uint8Data,
width,
height,
format: Texture2D.PixelFormat.RGBA8888, // 根据实际格式调整(如 RGB888)
});
// 3. 创建 Texture2D
const texture = new Texture2D();
texture.image = imageAsset;
// 4. 创建 SpriteFrame
const spriteFrame = new SpriteFrame();
spriteFrame.texture = texture;
// 5. 赋值给 Sprite
this.targetSprite.spriteFrame = spriteFrame;
多谢大佬,我试一试
initWithElement 是的 和这个思路一样 ,让ai给分析一下3.x下api是啥
AI能分析出来我就不问了,AI编出来好几个不存在的方法。。。