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?
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.
>Tags und Links javascript html5 webrtc sdp peer-connection