stopPreview() { if (this.source) { this.source.disconnect(this.waveformView) this.source.stop() this.source = null if (this.canvas) { let context = this.canvas.getContext('2d') let {width, height} = this.canvas context.clearRect(0, 0, width, height) } } }
startPreview(device) { this.source = new DeviceSource({audio: {device}}) this.source.connect(this.waveformView) this.source.promise.catch(console.error) }