8

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

当使用或onnegotiationneeded添加或删除完整的媒体流时,会触发“ ” 。pc.addStreampc.removeStream

是否可以在onnegotiationneeded函数内部判断它是否因为添加或删除了流而被执行?因为通过阅读文档我找不到那个状态。

目前,当我做pc.addStream或时,我正在切换一个标志pc.removeStream。这个标志可以帮助我判断onnegotiationneeded它是否被流删除触发。

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

4

1 回答 1

0

处理程序MDN 文档onnegotiationneeded指出:

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

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

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

于 2017-09-12T17:24:30.673 回答