使用在wxml的方式加载视频材质资源,加载特定视频资源的时候,不触发bind:progress,不触发bind:loaded
更换视频后,可正常加载,代码如下:
<xr-scene class="scene" bind:ready="handleReady">
<!-- 资源加载器 -->
<xr-assets bind:progress="handleAssetsProgress" bind:loaded="handleAssetsLoaded">
<xr-asset-load type="video-texture" asset-id="video" options="loop:true" src="https://mbvs.ldmf.net/a7fd2b17.mp4" />
<!-- 视频材质 simple | standard -->
<xr-asset-material asset-id="mat" effect="simple" uniforms="u_baseColorMap: video-video" />
</xr-assets>
<xr-light type="ambient" color="1 1 1" intensity="1" />
<xr-light type="directional" rotation="40 70 0" color="1 1 1" intensity="3" cast-shadow />
<xr-mesh node-id="cube" geometry="cube" material="mat" />
<xr-mesh position="0 -1 0" scale="4 1 4" receive-shadow geometry="plane" uniforms="u_baseColorFactor:0.4 0.6 0.8 1" />
<xr-camera clear-color="0.4 0.8 0.6 1" position="0 1 4" target="cube" camera-orbit-control />
</xr-scene>
经查证,此问题应该是由于视频的AVC编码版本导致的,经过ffmpeg转码后,此问题解决。肯请官方大大能不能增加xr-assets的onError事件,方便这种同质问题的处理。
不能加载的AVC编码器为:
经过ffmpeg转码后为:
ffmpeg转码指令为: