WebAudio:如何停用麦克风

时间:2017-09-17 14:45:42

标签: javascript web-audio

WebAudio允许通过navigator.getUserMedia()访问麦克风。调用此选项时,浏览器会显示一个重新编码的符号(Chrome和Edge中的红点),表示麦克风正在使用中。这工作正常,但我希望能够停用麦克风,然后这个红点也应该消失。我打电话webcontext.close()也会停用该红点标志,但它不会,至少在Chrome,Firefox和Edge中。

如何以浏览器录制标志消失的方式停用麦克风?

1 个答案:

答案 0 :(得分:2)

我能够自己找到解决方案,以防有人感兴趣:

想象一下,我们像这样激活我们的麦克风:

navigator.mediaDevices.getUserMedia(constraints).then(stream => {
    this._userMediaInputStream = stream;
    ...            
}).catch(errorFunction);

然后我们可以使用以下代码停用麦克风。这将使浏览器的录制符号也消失:

this._userMediaInputStream.getAudioTracks().forEach(track => {
    track.stop();
});