Как узнать, был ли запущен файл pc.onnegotiationneeded, потому что поток был удален?

Я имею дело с RTCPeerConnection (pc), который имеет обработчик события с именем onnegotiationneeded.

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

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

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

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

1 ответ

Документация MDN для onnegotiationneeded обработчик заявляет:

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

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

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

Другие вопросы по тегам