Wie kann ich feststellen, ob pc.onnegotiationneeded ausgelöst wurde, weil der Stream entfernt wurde?

8

Ich habe es mit einer RTCPeerConnection ( pc ) zu tun, die ein Event hat Handler mit dem Namen über Verhandlungen benötigt .

Das " onnegotiationneeded " wird ausgelöst, wenn ein kompletter Medienstream mit pc.addStream oder pc.removeStream hinzugefügt oder entfernt wird.

Ist es möglich, innerhalb der Funktion onnegotiationneeded zu sagen, ob sie ausgeführt wurde, weil der Stream hinzugefügt oder entfernt wurde? Weil ich beim Lesen der Dokumente keinen Zustand dafür finden konnte.

Im Moment wechsle ich eine Flagge, wenn ich pc.addStream oder pc.removeStream mache. Dieses Flag hilft mir innerhalb von onnegotiationneeded zu erkennen, ob es von einem Stream entfernt wurde oder nicht.

Aber ich frage mich, ob es schon eine solche Eigenschaft gibt, die von der API des Browsers (Chrome 40 oder Firefox 36) gegeben wird?

    
Benny Neugebauer 02.03.2015, 01:42
quelle

1 Antwort

0

Die MDN-Dokumentation für den onnegotiationneeded -Handler lautet:

  

Dies sollte auf eine von Ihnen angegebene Funktion eingestellt werden, die nur einmal übergeben wird   Parameter: Ein Event-Objekt, das das Verhandlungserfordernis enthält.   Es werden keine zusätzlichen Informationen zu dem Ereignis bereitgestellt. irgendwas du   brauchen, können Sie bekommen, indem Sie die Eigenschaften der   RTCPeerConnection.

Im Grunde genommen können Sie das nicht allein durch den Rückruf tun. Sie können es jedoch möglicherweise mit dem Handler onstreamadded oder onstreamremoved verwenden

Sie können eine bequeme Lösung finden, um die hinzugefügten Tracks und Streams hier zu verfolgen.

>     
nasskalte.juni 12.09.2017 17:24
quelle