如何判断是否因为流已被删除而触发了pc.onnegotiationneeded?

Ben*_*uer 8 javascript html5 sdp webrtc peer-connection

我正在处理一个RTCPeerConnection(pc),它有一个名为onnegotiationneeded的事件处理程序.

onnegotiationneeded使用pc.addStream或添加或删除完整的媒体流时会触发" " pc.removeStream.

是否有可能告诉onnegotiationneeded函数内部是否已执行,因为已添加或删除了流?因为从阅读文档我无法找到一个状态.

目前我正在切换的标志,当我做pc.addStreampc.removeStream.这个标志可以帮助我判断onnegotiationneeded它是否被流删除了.

但我想知道浏览器(Chrome 40或Firefox 36)API是否已经提供了这样的属性?

小智 0

处理程序的 MDN 文档onnegotiationneeded指出:

这应该设置为您提供的函数,该函数传递一个参数:包含协商需要事件的事件对象。活动中没有提供更多信息;你需要的任何东西,你都可以通过检查 RTCPeerConnection 的属性来获得。

所以基本上,你不能单独通过回调来做到这一点。但您也许可以将它与onstreamaddedonstreamremoved处理程序一起使用

您可以在此处找到用于跟踪添加的曲目和流的舒适解决方案。