Sip.js: ローカルマイクをミュートする

作成日 2017年12月13日  ·  11コメント  ·  ソース: onsip/SIP.js

こんにちは、
ローカルマイクをミュートする方法はありますか?
Session.mute()が機能していないようです。
よろしくお願いします、
Pjata

question

最も参考になるコメント

0.15.0バージョンでは、このように行われることが判明しています

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

全てのコメント11件

ローカルトラックをpeerConnectionから取得してから、トラックをミュートする必要があります。 これはSIP.jsの範囲外です。 ピア接続を取得する方法については、セッションの説明ハンドラのドキュメントを参照してください。

私はそれを次のように解決しました:

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

session.getLocalStreamsは、0.8以降との上位互換性がありません。 ピア接続を取得し、ピア接続からストリームを取得する必要があります。

どうすればこれを行うことができますか?

ローカルトラックをpeerConnectionから取得してから、トラックをミュートする必要があります。 これはSIP.jsの範囲外です。 ピア接続を取得する方法については、セッションの説明ハンドラのドキュメントを参照してください。

私はこのようにしました

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

私はこのようにしました

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

今これを見つけている人のために:
Chromeは、 peerConnection.getLocalStreams()はもう使用すべきではないと言っています。 代わりに以下を使用してください:
peerConnection.getSenders()およびpeerConnection.getReceivers()

0.15.0バージョンでは、このように行われることが判明しています

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

私のために働いてくれてありがとう@koshelevvasya

パーティーに遅れてすみません。 質問:リモートピアとして、ローカルピアがマイクをミュートしたことを確認して、自分の側からステータスを更新できるようにするにはどうすればよいですか? 上記の@koshelevvasyaで述べたように、トラックが有効/無効になると、イベントが発生しますか?

@ thanh-mel、リモートピアはマイクがミュートされていることを知る必要はありません。 多分あなたはホールドを使う必要がありますか?

トラックが有効/無効になると、すべてのイベントが発生します

私の経験では、そうです。 JavaScriptを使用して行われるため

このページは役に立ちましたか?
0 / 5 - 0 評価