javascript - 网络音频 : How to deactivate microphone

标签 javascript web-audio-api

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();
});

关于javascript - 网络音频 : How to deactivate microphone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46265330/

相关文章:

javascript - 我可以使用webAudio API从Chrome访问本地音频输出流吗?

javascript - JS - 从缓冲区播放音频

意外设置 Javascript 对象实例属性

javascript - JavaScript 流密码的实现?

javascript - 从 div 中删除所有媒体查询 css 规则

javascript - 迭代不同大小的网格来播放康威生命游戏的音频

audio - 如何使用 FFMPEG 将 MP3 转换为恒定比特率

javascript - 以正确的方式使用 z-index

javascript - 使用 fetch.js 启用 gzip 压缩

javascript - 在 HTML5 中构建音频混合器