Olá,
Existe alguma maneira de silenciar o microfone local?
Session.mute () não parece estar funcionando.
Cumprimentos,
Pjata
Você precisa retirar as trilhas locais do peerConnection e, em seguida, silenciar as trilhas. Isso está fora do escopo do SIP.js. Consulte a documentação do manipulador de descrição de sessão para obter informações sobre como obter a conexão de mesmo nível.
Eu resolvi assim:
session.getLocalStreams()[0].getAudioTracks()[0].stop()
session.getLocalStreams
não é compatível com forwards com 0.8+. Você precisa obter a conexão de mesmo nível e retirar os streams da conexão de mesmo nível.
então como posso fazer isso?
Você precisa retirar as trilhas locais do peerConnection e, em seguida, silenciar as trilhas. Isso está fora do escopo do SIP.js. Consulte a documentação do manipulador de descrição de sessão para obter informações sobre como obter a conexão de mesmo nível.
eu fiz assim
///mute
var pc = session.sessionDescriptionHandler.peerConnection;
pc.getLocalStreams().forEach(function (stream) {
stream.getAudioTracks().forEach(function (track) {
track.enabled = false;
});
});
eu fiz assim
///mute var pc = session.sessionDescriptionHandler.peerConnection; pc.getLocalStreams().forEach(function (stream) { stream.getAudioTracks().forEach(function (track) { track.enabled = false; }); });
Para quem está encontrando isso agora:
O Chrome diz que peerConnection.getLocalStreams()
não deve ser mais usado. Em vez disso, use:
peerConnection.getSenders()
e peerConnection.getReceivers()
na versão 0.15.0 acabou sendo feito assim
const pc: any = this.session.sessionDescriptionHandler.peerConnection
pc.getSenders().forEach((stream: any) => {
stream.track.enabled = false
})
obrigado @koshelevvasya que funcionou para mim!
desculpe estava atrasado para a festa. Pergunta: como faço para, como ponto remoto, saber que o ponto local desligou o microfone para que eu possa atualizar o status do meu lado? Qualquer evento seria disparado quando uma faixa fosse habilitada / desabilitada, conforme mencionado por @koshelevvasya acima?
@ thanh-mel, o peer remoto não precisa saber que o microfone está mudo. Talvez você precise usar a espera?
Qualquer evento seria disparado quando uma trilha fosse habilitada / desabilitada
Na minha experiência, sim. Porque é feito usando JavaScript
Comentários muito úteis
na versão 0.15.0 acabou sendo feito assim