MCPcopy
hub / github.com/webrtc/samples / start

Function start

src/content/insertable-streams/audio-processing/js/main.js:71–97  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

69};
70
71async function start() {
72 startButton.disabled = true;
73 try {
74 stream = await navigator.mediaDevices.getUserMedia(constraints);
75 const audioTracks = stream.getAudioTracks();
76 console.log('Using audio device: ' + audioTracks[0].label);
77
78 processor = new MediaStreamTrackProcessor(audioTracks[0]);
79 generator = new MediaStreamTrackGenerator('audio');
80 const source = processor.readable;
81 const sink = generator.writable;
82 worker = new Worker('js/worker.js');
83 worker.postMessage({source: source, sink: sink}, [source, sink]);
84
85 processedStream = new MediaStream();
86 processedStream.addTrack(generator);
87 audio.srcObject = processedStream;
88 stopButton.disabled = false;
89 await audio.play();
90 } catch (error) {
91 const errorMessage =
92 'navigator.MediaDevices.getUserMedia error: ' + error.message + ' ' +
93 error.name;
94 document.getElementById('errorMsg').innerText = errorMessage;
95 console.log(errorMessage);
96 }
97}
98
99async function stop() {
100 stopButton.disabled = true;

Callers

nothing calls this directly

Calls 3

getUserMediaMethod · 0.80
getAudioTracksMethod · 0.80
addTrackMethod · 0.80

Tested by

no test coverage detected