以编程方式在A帧中创建资产

时间:2018-05-28 13:24:55

标签: aframe

我的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
>   

1 个答案:

答案 0 :(得分:0)

我通过删除#video作为源的对象上的预定义源来解决我的问题。添加资产后,更改对象的源,它工作正常。