diff --git a/src/react-components/ui-root.js b/src/react-components/ui-root.js index 3a1a03da093a67aea456de34a8b6462a8f71aacf..e43e089ceed4ddb98f35486a62647a484b36da5a 100644 --- a/src/react-components/ui-root.js +++ b/src/react-components/ui-root.js @@ -278,15 +278,14 @@ class UIRoot extends Component { micDeviceChanged = async (ev) => { const constraints = { audio: { deviceId: { exact: [ev.target.value] } }, video: this.mediaVideoConstraint() }; - this.setupNewMediaStream(await navigator.mediaDevices.getUserMedia(constraints)); + await this.setupNewMediaStream(constraints); } setMediaStreamToDefault = async () => { - const constraints = { audio: true, video: false }; - this.setupNewMediaStream(await navigator.mediaDevices.getUserMedia(constraints)); + await this.setupNewMediaStream({ audio: true, video: false }); } - setupNewMediaStream = (mediaStream) => { + setupNewMediaStream = async (constraints) => { const AudioContext = window.AudioContext || window.webkitAudioContext; const audioContext = new AudioContext(); @@ -302,6 +301,8 @@ class UIRoot extends Component { } } + const mediaStream = await navigator.mediaDevices.getUserMedia(constraints); + const source = audioContext.createMediaStreamSource(mediaStream); const analyzer = audioContext.createAnalyser(); const levels = new Uint8Array(analyzer.fftSize);