问题
I have read from here that how i can mute/unmute mic for a localstream in webrtc:WebRTC Tips & Tricks
When i start my localstream mic is enable at that time by default so when i set audioTracks[0].enabled=false it muted a mic in my local stream but when i set it back true it enable to unmute. Here is my code mute/unmute for a localstream:
getLocalStream(function (stream,enable) {
if (stream) {
for (var i = 0; i < stream.getTracks().length; i++) {
var track = stream.getAudioTracks()[0];
if (track)
track.enabled = enable;
//track.stop();
}
}
});
Can someone suggest me how i can unmute mic back in a localstream.
回答1:
I assume that your method getLocalStream
is actually calling navigator.getUserMedia
. In this case when you do this you'll get another stream, not the original one. Using the orignal stream you should do
mediaStream.getAudioTracks()[0].enabled = true; // or false to mute it.
Alternatively you can check https://stackoverflow.com/a/35363284/1210071
回答2:
Ahhh there is a good way to do this:
mediaStream.getVideoTracks()[0].enabled = !(mediaStream.getVideoTracks()[0].enabled);
回答3:
There are 2 properties enabled
and muted
.
enabled
is for setting, and muted
is read-only on the remote side (the other person) (I have tried, setting muted
does not work, basically, value cannot be changed)
stream.getAudioTracks()[0].enabled = true;
// remote one will get muted
change
来源:https://stackoverflow.com/questions/35512314/how-to-mute-unmute-mic-in-webrtc