WebAudio允许通过navigator.getUserMedia()
访问麦克风。调用此选项时,浏览器会显示一个重新编码的符号(Chrome和Edge中的红点),表示麦克风正在使用中。这工作正常,但我希望能够停用麦克风,然后这个红点也应该消失。我打电话webcontext.close()
也会停用该红点标志,但它不会,至少在Chrome,Firefox和Edge中。
如何以浏览器录制标志消失的方式停用麦克风?
答案 0 :(得分:2)
我能够自己找到解决方案,以防有人感兴趣:
想象一下,我们像这样激活我们的麦克风:
navigator.mediaDevices.getUserMedia(constraints).then(stream => {
this._userMediaInputStream = stream;
...
}).catch(errorFunction);
然后我们可以使用以下代码停用麦克风。这将使浏览器的录制符号也消失:
this._userMediaInputStream.getAudioTracks().forEach(track => {
track.stop();
});