我已经在我的应用中使用了SimpleWebRTC一段时间了。它非常易于设置,适用于简单的应用程序。但是,我需要能够禁用/启用视频而不影响我的应用程序中的音频,这就是SimpleWebRTC不足的地方。搜索其他一些StackOverflow问题后发现,这似乎被称为“重新谈判”。
显然直到最近(去年或者两年?)浏览器没有公开MediaStreamTrack
s(https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack),这使得重新谈判变得不可能。现在这显然是可能的,但我没有看到任何包装库这样做。实际上,大多数流行的WebRTC图书馆似乎都不再受到维护。
有没有人使用流重新协商,并且可以指向正确的方向,要么是实现它的库,polyfill,还是有关如何通过当前WebRTC标准实现这一点的指导?我不介意摆脱一个有利于准系统WebRTC的库,我只是不确定结束/开始连接的正确方法是什么,因为实现在浏览器之间看起来仍然很糟糕。
答案 0 :(得分:1)
特别是对于simplewebrtc,有https://simplewebrtc.com/notsosimple.html#mute 它不会重新协商,但会将MediaStreamTrack enabled属性设置为false,从而发送黑帧(低带宽)。缺点是如果你以这种方式静音相机,相机灯将保持开启状态。