如何在webrtc中静音/取消静音麦克风

7 html5-video html5-audio webrtc simplewebrtc

我从这里读到如何在webrtc中为本地流静音/取消静音麦克风:WebRTC提示与技巧

当我启动我的本地流麦克风时默认启用,所以当我设置audioTracks [0] .enabled = false时它会在我的本地流中静音麦克风,但当我将其设置为真时它会启用取消静音.以下是我对本地流的代码静音/取消静音:

 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();
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

有人可以建议我如何在本地流中取消麦克风.

Adr*_*Ber 11

我假设你的方法getLocalStream实际上是在调用navigator.getUserMedia.在这种情况下,当您执行此操作时,您将获得另一个流,而不是原始流.使用原始流你应该这样做

mediaStream.getAudioTracks()[0].enabled = true; // or false to mute it.
Run Code Online (Sandbox Code Playgroud)

或者,您可以查看/sf/answers/2475429911/


Xin*_*Xin 6

有 2 个属性enabledmutedenabled用于设置,并且muted在远程端(对方)是只读的(我已经尝试过,设置muted不起作用,基本上,值无法更改)

stream.getAudioTracks()[0].enabled = true;// 远程的会得到muted零钱


小智 5

啊啊有一个好方法可以做到这一点:

mediaStream.getVideoTracks()[0].enabled = !(mediaStream.getVideoTracks()[0].enabled);
Run Code Online (Sandbox Code Playgroud)