2013-07-22 10 views
11

Sto utilizzando il recorder.js e getUserMedia per eseguire alcune registrazioni audio nel browser. Quando si avvia la registrazione, l'utente è dato il "Consenti questo sito di utilizzare il microfono della programmazione", e una volta che si fa clic permettono, Chrome aggiunge un indicatore sulla favicon della scheda per dimostrare che sta registrando:Come annullare l'indicatore getUserMedia dopo la registrazione

Recording indicator http://ubuntuone.com/1nBkbmc9vA313WeWtV03Kz

Il mio problema è che l'indicatore non si spegne mai, anche dopo che la mia applicazione ha smesso di registrare. Fondamentalmente, vorrei revocare le mie autorizzazioni di registrazione. È possibile?

risposta

10

Quando si genera un nuovo oggetto MediaStream da una chiamata getUserMedia, contiene un oggetto MediaStreamTrack.

La chiamata MediaStream.getAudioTracks() deve restituire una sequenza che rappresenta un'istantanea di tutti gli oggetti MediaStreamTrack nello stream con il tipo "audio". La stessa cosa si applica quando si chiama MediaStream.getVideoTracks() per recuperare oggetti traccia video.

In base alle specifiche, è possibile revocare tutte le autorizzazioni fornite all'app chiamando lo MediaStreamTrack.stop() sull'oggetto della traccia audio.

Fonte: Media Capture and Stream API spec

+0

Impressionante, grazie! Sembra anche che la semplice chiamata 'mediaStream.stop()' funzioni, senza ottenere le tracce. – nickf

+0

Oh, fantastico! Buono a sapersi! – mattfieldy

+0

È interessante notare che, sebbene rimuova l'indicatore dalla favicon, la registrazione possa effettivamente continuare ... – nickf