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();
});
getTracks
вместоgetAudioTracks