2013-07-22 3 views
11

私はrecorder.jsgetUserMediaを使用して、ブラウザで音声録音を行っています。記録を開始すると、ユーザーは、「このサイトはあなたのマイクを使用することを許可する」プロンプトを与えている、と彼らは許可クリックすると、Chromeは、それが記録されていることを示すために、タブのファビコンにインジケーターを追加します。録画後にgetUserMediaインジケータをキャンセルする方法

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

私の問題は、アプリケーションが録音を停止しても、インジケータが消えないということです。基本的には、私自身の録音許可を取り消したいと思います。これは可能ですか?

答えて

10

getUserMediaコールから新しいMediaStreamオブジェクトを生成すると、MediaStreamTrackオブジェクトが含まれます。

MediaStream.getAudioTracks()を呼び出すと、"audio"のストリーム内のすべてのMediaStreamTrackオブジェクトのスナップショットを表すシーケンスが返されます。 MediaStream.getVideoTracks()を呼び出してビデオトラックオブジェクトを取得するときも同じことが適用されます。

仕様によると、オーディオトラックオブジェクトでMediaStreamTrack.stop()を呼び出すことで、アプリケーションに対するすべての権限を取り消すことができるようです。

出典:Media Capture and Stream API spec

+0

ありがとう!トラックを取得せずに 'mediaStream.stop()'を呼び出すようにも見えます。 – nickf

+0

ああ、素晴らしい!知っておいてよかった! – mattfieldy

+0

興味深いことに、これによりファビコンからインジケータが削除されても、実際に録音を続けることができます。 – nickf

関連する問題