如何判断 pc.onnegotiationneeded 是不是因为流已被删除而被解雇?
Posted
技术标签:
【中文标题】如何判断 pc.onnegotiationneeded 是不是因为流已被删除而被解雇?【英文标题】:How to tell if pc.onnegotiationneeded was fired because stream has been removed?如何判断 pc.onnegotiationneeded 是否因为流已被删除而被解雇? 【发布时间】:2015-05-02 07:34:54 【问题描述】:我正在处理一个 RTCPeerConnection (pc
),它有一个名为 onnegotiationneeded 的事件处理程序。
当使用pc.addStream
或pc.removeStream
添加或删除完整的媒体流时,会触发“onnegotiationneeded
”。
是否可以在 onnegotiationneeded
函数内部判断它是否因为添加或删除了流而被执行?因为通过阅读文档我找不到那个状态。
目前,当我执行pc.addStream
或pc.removeStream
时,我正在切换一个标志。这个标志可以帮助我在onnegotiationneeded
中判断它是否由流删除触发。
但我想知道浏览器(Chrome 40 或 Firefox 36)API 是否已经提供了这样的属性?
【问题讨论】:
【参考方案1】:MDN documentation for the onnegotiationneeded
handler 声明:
这应该设置为您提供的一个函数,该函数传递一个 参数:一个Event对象,包含negotiationneeded事件。 事件中没有提供其他信息;任何你 需要,你可以通过检查的属性得到 RTCPeerConnection.
所以基本上,你不能单独通过回调来做到这一点。但您也许可以将它与onstreamadded
或onstreamremoved
处理程序一起使用
您可能会找到一个舒适的解决方案来跟踪添加的曲目和流here。
【讨论】:
以上是关于如何判断 pc.onnegotiationneeded 是不是因为流已被删除而被解雇?的主要内容,如果未能解决你的问题,请参考以下文章