如何使用简单对等webRTC SDK进行屏幕共享

问题描述 投票:0回答:1

我正在尝试实现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方法时,它没有

[如果有人可以帮助我,那将真的很有帮助。
javascript webrtc communication signaling simple-peer
1个回答
0
投票
我要做的是更换音轨。因此,而不是删除和添加流:

p.streams[0].getVideoTracks()[0].stop() p.streams[0].replaceTrack(p.streams[0].getVideoTracks()[0], captureStreamTrack, p.streams[0])

这将用显示之一替换流中的视频轨道。

simple-peer docs

© www.soinside.com 2019 - 2024. All rights reserved.