问题:刷新列表页数据有时候(非必现),部分视频未能正常播放,但是video标签的url是有赋上去而且正常的下载后本地也能看
思考和解决方案
思考问题原因:第一,在控制台手动执行play后能播放,第二,有列表数据的时候就会渲染dom,然后我尝试v-if确定有assetsShowUrl再渲染video标签,依然会有这个问题;所以猜测在数据资源加载的时候,在网络环境较差的情况下,设置mute+autoplay+loop属性时有可能src的资源还没能获取到,所以才出现这种情况
解决:我在拿到资源后,延时器里手动设置每个dom的属性执行播放,重复测试后发现没问题了
setTimeout(() => {
this.$refs.videoRef.map((video) => {
video.addEventListener('loadeddata', () => {
this.$nextTick(() => {
video.muted = true;
video.loop = true;
video.play();
});
});
});
});
匆忙记录,代有时间进行细究分析