Как отменить индикатор getUserMedia после записи

Я использую recorder.js и getUserMedia, чтобы сделать некоторую аудиозапись в браузере. При запуске записи пользователю предоставляется приглашение "Разрешить этот сайт использовать ваш микрофон", и, как только они нажмут, Chrome добавит индикатор на значок favicon, чтобы показать, что он записывает:

Индикатор записи http://ubuntuone.com/1nBkbmc9vA313WeWtV03Kz

Моя проблема в том, что индикатор никогда не исчезает, даже после того, как мое приложение прекратило запись. В принципе, я хотел бы отозвать свои собственные разрешения на запись. Возможно ли это?

Ответ 1

Когда вы создаете новый объект MediaStream из вызова getUserMedia, он содержит объект MediaStreamTrack.

Вызов MediaStream.getAudioTracks() должен возвращать последовательность, которая представляет моментальный снимок всех объектов MediaStreamTrack в потоке с типом "audio". То же самое происходит при вызове MediaStream.getVideoTracks() для извлечения объектов видеодорожки.

Согласно спецификации, похоже, что вы можете отменить все предоставленные разрешения для своего приложения, вызвав MediaStreamTrack.stop() на объекте звуковой дорожки.

Источник: Спецификация Media Capture и Stream API