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