我正在尝试实现Webrtc和我的聊天对象的简单对等。一切正常,但我想添加屏幕共享选项。为此,我尝试了:
$("#callScreenShare").click(async function(){
if(captureStream != null){
p.removeStream(captureStream)
p.addStream(videoStream)
captureStreamTrack.stop()
captureStreamTrack =captureStream= null
$("#callVideo")[0].srcObject = videoStream
$(this).text("screen_share")
}else{
captureStream = await navigator.mediaDevices.getDisplayMedia({video:true, audio:true})
captureStreamTrack = captureStream.getTracks()[0]
$("#callVideo")[0].srcObject = captureStream
p.removeStream(videoStream)
console.log(p)
p.addStream(captureStream)
$(this).text("stop_screen_share")
}
})
但是我停下了相机,之后什么也不做,对等计算机上的视频流也被阻止了。没有错误,仅此而已。
我在触发[[事件流时放了console.log。第一次触发,但是当我调用addStream方法时,它没有
[如果有人可以帮助我,那将真的很有帮助。p.streams[0].getVideoTracks()[0].stop()
p.streams[0].replaceTrack(p.streams[0].getVideoTracks()[0], captureStreamTrack, p.streams[0])
这将用显示之一替换流中的视频轨道。