How to mute/unmute mic in webrtc

走远了吗. 提交于 2019-12-01 01:16:15

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!