2015-03-02 3 views
8

Я имею дело с RTCPeerConnection (pc), у которого есть обработчик события с именем onnegotiationneeded.Как узнать, был ли запущен pc.onnegotiationneeded, потому что поток удален?

«onnegotiationneeded» запускается, когда полный медиапоток добавляется или удаляется pc.addStream или pc.removeStream.

Можно ли указать внутри функции onnegotiationneeded, если она была выполнена, потому что поток был добавлен или удален? Потому что, читая документы, я не мог найти для этого состояния.

В настоящий момент я переключаю флаг, когда я делаю pc.addStream или pc.removeStream. Этот флаг помогает мне сообщить в пределах onnegotiationneeded, если он был вызван удалением потока или нет.

Но мне было интересно, существует ли уже такое свойство, предоставляемое API браузера (Chrome 40 или Firefox 36)?

ответ

0

В MDN documentation for the onnegotiationneeded handler состояния:

Это должно быть установлено на функцию, которую Вы предоставляете, которая передается один параметр : объект Event, содержащий negotiationneeded событие. Дополнительной информации о данном событии не уделяется; все, что вам нужно , вы можете получить, изучив свойства RTCPeerConnection .

В принципе, вы не можете сделать это только путем обратного вызова. Но вы можете использовать его с обработчиком onstreamadded или onstreamremoved

Вы можете найти удобное решение для отслеживания добавленных дорожек и потоков here.