我正在尝试为Web-RTC应用程序动态创建一个元素,但是在创建视频后遇到问题。我的应用程序可以在静态视频元素上正常运行,因此,我很确定自己的添加方式存在问题。

这是用于创建元素的代码

 function handleRemoteStreamAdded(event) {
    console.log('Remote stream added.');
    //remoteVideo.src = window.URL.createObjectURL(event.stream);
    console.log('Dynamically creating video');
    var remoteVideo = document.createElement("video");
    remoteVideo.autoPlay = true;
    remoteVideo.src = window.URL.createObjectURL(event.stream);
    remoteStream = event.stream;
    $('#videos').append(remoteVideo);
    console.log('Creation complete!');
}

执行此代码后,通过检查Chrome中的页面,我可以看到在HTML中已经创建了video元素
<div id="videos">
    <video id="localVideo" autoplay="" muted="" src="blob:http%3A//localhost/87efdb40-e69d-4455-903a-308d217e73aa"></video>
    <video src="blob:http%3A//localhost/090f0ef2-5b17-44dd-9d54-411a3a893137"></video></div>
</div>

此时,我可以在屏幕上看到似乎是冻结的视频元素,这使我相信该视频未设置为播放。

任何想法将不胜感激。谢谢!

最佳答案

remoteVideo.autoPlay应该是remoteVideo.autoplay-区分大小写。

07-26 09:32