Sip.js: Couper le micro local

Créé le 13 déc. 2017  ·  11Commentaires  ·  Source: onsip/SIP.js

Bonjour,
Existe-t-il de toute façon pour couper le microphone local ?
Session.mute() ne semble pas fonctionner.
Meilleures salutations,
Pjata

question

Commentaire le plus utile

dans la version 0.15.0, il s'est avéré que c'était comme ça

const pc: any = this.session.sessionDescriptionHandler.peerConnection
    pc.getSenders().forEach((stream: any) => {
      stream.track.enabled = false
    })

Tous les 11 commentaires

Vous devez retirer les pistes locales de peerConnection, puis couper les pistes. Ceci est en dehors de la portée de SIP.js. Voir la documentation du gestionnaire de description de session pour plus d'informations sur la façon d'obtenir la connexion homologue.

Je l'ai résolu comme ceci :

session.getLocalStreams()[0].getAudioTracks()[0].stop()

session.getLocalStreams n'est pas compatible avec la version 0.8+. Vous devez obtenir la connexion homologue et retirer les flux de la connexion homologue.

alors comment puis-je faire cela?

Vous devez retirer les pistes locales de peerConnection, puis couper les pistes. Ceci est en dehors de la portée de SIP.js. Voir la documentation du gestionnaire de description de session pour plus d'informations sur la façon d'obtenir la connexion homologue.

je l'ai fait de cette façon

///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
    stream.getAudioTracks().forEach(function (track) {
        track.enabled = false;
    });
});

je l'ai fait de cette façon

///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
    stream.getAudioTracks().forEach(function (track) {
        track.enabled = false;
    });
});

Pour ceux qui trouvent ça maintenant :
Chrome dit que peerConnection.getLocalStreams() ne devrait plus être utilisé. Utilisez plutôt :
peerConnection.getSenders() et peerConnection.getReceivers()

dans la version 0.15.0, il s'est avéré que c'était comme ça

const pc: any = this.session.sessionDescriptionHandler.peerConnection
    pc.getSenders().forEach((stream: any) => {
      stream.track.enabled = false
    })

merci @koshelevvasya qui a fonctionné pour moi !

désolé était en retard à la fête. Question : comment puis-je, en tant qu'homologue distant, savoir que l'homologue local a coupé son microphone afin que je puisse mettre à jour l'état de mon côté ? Tout événement se déclencherait lorsqu'une piste est activée/désactivée comme mentionné par @koshelevvasya ci-dessus ?

@thanh-mel , le pair distant n'a pas besoin de savoir que le microphone est coupé. Peut-être avez-vous besoin d'utiliser le maintien ?

Tout événement se déclencherait lorsqu'une piste est activée/désactivée

D'après mon expérience, oui. Parce que c'est fait en JavaScript

Cette page vous a été utile?
0 / 5 - 0 notes