Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 视频元素上的captureMediaStream(),mediaStreamTrack结束事件不会';你不会开枪吗?_Javascript_Webrtc - Fatal编程技术网

Javascript 视频元素上的captureMediaStream(),mediaStreamTrack结束事件不会';你不会开枪吗?

Javascript 视频元素上的captureMediaStream(),mediaStreamTrack结束事件不会';你不会开枪吗?,javascript,webrtc,Javascript,Webrtc,我正在使用WebRTC API实现屏幕共享和媒体文件播放,我能够成功地共享屏幕并收听mediaStreamTrack结束事件。但我能够成功地在WebRTC上播放媒体文件,但我无法收听mediaStreamTrack结束事件(未触发)。因此我无法更改为网络摄像头,我不知道文件什么时候播放到最后 _setScreenEndedListener(track) { track.addEventListener('ended', () => { this.removeLoca

我正在使用WebRTC API实现屏幕共享和媒体文件播放,我能够成功地共享屏幕并收听mediaStreamTrack结束事件。但我能够成功地在WebRTC上播放媒体文件,但我无法收听mediaStreamTrack结束事件(未触发)。因此我无法更改为网络摄像头,我不知道文件什么时候播放到最后

_setScreenEndedListener(track) {
    track.addEventListener('ended', () => {
        this.removeLocalVideo(true);
        logger.warn('#screen sharing stoped !!');
        this.emit('screen-sharing-stop');
    });
}

以上是我聆听事件的方式。我认为没有问题。但是在元素和视频上播放的媒体文件。captureStream()生成流,当媒体文件转到文件结尾时,流跟踪无法触发结束事件。我不知道这是错误还是其他原因,非常感谢任何帮助。

是的,即使您的媒体播放已结束,但您的媒体流仍处于活动状态,这是因为您可能非常希望显示来自同一流的其他媒体(Chrome不支持…),或者只是将其设置回其他currentTime,以便它循环:

source.onplaying=e=>{
source.onplaying=null;
target.srcObject=source.captureStream?source.captureStream():source.mozCaptureStream?source.mozCaptureStream():console.error(“不支持的浏览器”);
target.play();
};
source.onended=e=>{
console.log('结束。及时循环');
source.load();
source.play();
}
source.play()
视频{
最大宽度:48vw;
}