我正在尝试为 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 中创建
<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
- 它区分大小写。
关于javascript - 动态创建的 <video> 元素 - 自动播放不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23035862/