我正在这样检测JavaScript中的webrtc流的结尾...
stream.getVideoTracks()[0].onended = () => {
alert('Feed Has Ended');
};
这正常工作,但是如果用户刷新或重新加载页面,则还会显示警报。
我了解这在技术上是正确的,但是如何在这种情况下不显示警报呢?
答案 0 :(得分:1)
为什么不使用全局布尔值检查视频是否正在播放?当您重新加载或刷新页面时,isVideoRunning将变为false,并且不会显示警报。
喜欢
this.isVideoRunning = false;
在添加轨道上,
this.rtcPeerCon_.ontrack = function (event) {
if (!this.rtcPeerCon_) {
return;
}
if( !this.remoteVideo_ ) {
return;
}
this.remoteVideo_.srcObject = event.streams[0];
this.isVideoRunning = true;
}
然后在onStream结束的回调中可以检查
if (this.isVideoRunning) {
alert('whatever');
this.isVideoRunning = false;
}
(我希望对此发表评论,但目前还不允许评论)