diff options
Diffstat (limited to 'extension/media.js')
| -rw-r--r-- | extension/media.js | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/extension/media.js b/extension/media.js new file mode 100644 index 0000000..33c6fee --- /dev/null +++ b/extension/media.js @@ -0,0 +1,29 @@ +'use strict'; + +const internals = { + mediaStream: null +}; + +module.exports = { + async start() { + + internals.mediaStream = internals.mediaStream || await navigator.mediaDevices.getUserMedia({ + audio: true + }); + + return internals.mediaStream; + }, + + stop() { + + if (!internals.mediaStream) { + return; + } + + for (const track of internals.mediaStream.getAudioTracks()) { + track.stop(); + } + + internals.mediaStream = null; + } +}; |