收藏
回答

xr-frame下的多个的video-texture会导致xr-asset-load的加载失效?

在加载流程里面,尝试加载多个video-texture的时候,模拟器表现正常,真机总会有失效,下载无进度。剩下的就没有返回。

比如我对两个video-texture做加载(分别在5m内),手机上只能成功一个,而且成功的那个还不固定。

如果我做了loaded的绑定,就无法得到一个完成的callback了

回答关注问题邀请回答
收藏

1 个回答

  • Roam
    Roam
    2023-02-06

    目前不支持多个video-texture的直接加载与播放。该问题来源于视频的解析能力,目前这个能力在正在改造,需要后续版本才修复。

    如果不需要同时播放,可以考虑使用使用脚本动态加载与使用每个视频。

    // 脚本使用示例
    const videos = await Promise.all(videoList.map(videoItem => scene.assets.loadAsset({
      type: 'video-texture',
      assetId: videoItem.id,
      src: videoItem.url,
      options: { loop: true },
    })))
    
    videos.map((videoTexture, index) => {
      const videoMat = scene.createMaterial(
        scene.assets.getAsset('effect', 'simple'),
        { u_baseColorMap: videoTexture.value.texture }
      )
      scene.assets.addAsset('material', `video-mat-${videoList[index].id}`, videoMat)
    })
    
    2023-02-06
    有用 1
    回复 3
    • 李俊江
      李俊江
      2023-02-10
      xr播放的视频如何预加载
      2023-02-10
      回复
    • Roam
      Roam
      2023-02-10回复李俊江
      scene.assets.loadAsset 本身就是一个异步接口,可以直接加载所需要的视频进行预加载。
      但目前视频本身就是一个 beta 的状态(小程序目前的视频解析存在问题),目前视频解析的接口正在更改,需要后续版本才比较稳定。
      实在需要使用,建议同时只加载并使用一个视频。
      2023-02-10
      回复
    • bush
      bush
      2023-02-23
      大概什么时候能修复?
      2023-02-23
      回复
登录 后发表内容