我的index.html中的资产是根据需要注入的。在XHR请求完成之前,我不知道资产是什么。
我使用以下部分生成多源视频资源
function createStreamAsset() {
var videoAsset = document.createElement("video");
videoAsset.setAttribute("id", "video");
videoAsset.setAttribute("style", "display:none");
videoAsset.setAttribute("autoplay", "");
videoAsset.setAttribute("loop", "");
videoAsset.setAttribute("playsinline", "");
videoAsset.setAttribute("webkit-playsinline", "");
videoAsset.setAttribute("crossorigin", "anonymous");
var sourceDesktop = document.createElement("source");
sourceDesktop.setAttribute("src", "url")
sourceDesktop.setAttribute("type", "video/mp4")
var sourceMobile = document.createElement("source");
sourceMobile.setAttribute("src", "hlsurl")
sourceMobile.setAttribute("type", "application/x-mpegurl")
videoAsset.appendChild(sourceDesktop);
videoAsset.appendChild(sourceMobile);
assetManager.appendChild(videoAsset);
}
在顶部a-assets已作为子项附加到场景(var assetManager)
console.log打印在顶层核心:propertyTypes:warn" #video"资产未找到。
更重要的是,视频元素的构造是否正确地以这种方式匹配这个html?
<video id="video" style="display:none"
autoplay loop crossorigin="anonymous"
playsinline webkit-playsinline
>
答案 0 :(得分:0)
我通过删除#video作为源的对象上的预定义源来解决我的问题。添加资产后,更改对象的源,它工作正常。