aboutsummaryrefslogtreecommitdiff
path: root/extension/media.js
blob: c13c6f12aeb13dd03ef3e40969a8bb4ae8d11948 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const internals = {
  mediaStream: null
};

export default {
  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;
  }
};