2015-03-02 3 views
8

J'ai affaire à un RTCPeerConnection (pc) qui a un gestionnaire d'événements nommé onnegotiationneeded. Le "onnegotiationneeded" est déclenché lorsqu'un flux média complet est ajouté ou supprimé avec pc.addStream ou pc.removeStream.Comment savoir si pc.onnegotiationneeded a été déclenchée parce que le flux a été supprimé?

Est-il possible de dire à l'intérieur de la fonction onnegotiationneeded si elle a été exécutée parce que le flux a été ajouté ou supprimé? Parce que de la lecture des documents, je ne pouvais pas trouver un état pour cela.

Pour le moment je change de drapeau quand je fais pc.addStream ou pc.removeStream. Ce drapeau m'aide à dire dans onnegotiationneeded s'il a été déclenché par un flux ou non.

Mais je me demandais s'il existe déjà une telle propriété donnée par l'API du navigateur (Chrome 40 ou Firefox 36)?

Répondre

0

Les MDN documentation for the onnegotiationneeded handler états:

Cela doit être réglé sur une fonction que vous fournissez qui est passé un seul paramètre : un objet Event contenant l'événement negotiationneeded. Il n'y a aucune information supplémentaire fournie dans l'événement; Tout ce dont vous avez besoin, vous pouvez obtenir en examinant les propriétés du RTCPeerConnection.

Donc, fondamentalement, vous ne pouvez pas le faire par le rappel seul. Mais vous pouvez l'utiliser avec le gestionnaire onstreamadded ou onstreamremoved

Vous pouvez trouver une solution confortable pour le suivi des pistes et des flux ajoutés here.