aboutsummaryrefslogtreecommitdiff
path: root/extension/media.js
blob: ae60ec905c7f3bda3a311ea3a7766ec63e381a16 (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
const internals = {
  mediaStream: null,
};

export async function startMedia() {
  internals.mediaStream =
    internals.mediaStream ||
    (await navigator.mediaDevices.getUserMedia({
      audio: true,
    }));

  return internals.mediaStream;
}

export async function stopMedia() {
  if (!internals.mediaStream) {
    return;
  }

  for (const track of internals.mediaStream.getTracks()) {
    track.stop();
  }

  internals.mediaStream = null;
}