1
peer.on('stream', function (stream) {
            console.log('peer on stream called');
            console.log(stream);
            this.video = document.getElementById("peerVideo");            
            this.video.srcObject = stream;
            this.video.play();         
          })
          return peer
        } 

在这里,我从远程机器获取视频流。我已经登录并检查了我确定我正在获得一个远程流,因为源的流 id 与我在这里收到的相同。
this.video.srcObject = stream;此行生成 -> 错误 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.

我尝试了很多,但不知道如何解决这个问题。

感谢帮助。

4

2 回答 2

0

如果您在流事件中拥有多个订阅者,也可能会发生此问题,在这种情况下,两个订阅者都会干扰同一视频元素的播放并相互打断。

于 2022-01-30T10:04:46.930 回答
0

问题是该play()函数是异步的,并且是在播放函数运行时加载的。解决方案是在加载后启动它。

autoplay属性添加到视频对象可以解决问题。并删除video.play().

<video src="somefile.mp4" autoplay></video>    
于 2020-05-31T20:29:07.800 回答