こんにちは、
ローカルマイクをミュートする方法はありますか?
Session.mute()が機能していないようです。
よろしくお願いします、
Pjata
ローカルトラックを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.15.0バージョンでは、このように行われることが判明しています