diff --git a/src/board/audio/index.ts b/src/board/audio/index.ts index 78f736d6..bf128487 100644 --- a/src/board/audio/index.ts +++ b/src/board/audio/index.ts @@ -29,7 +29,9 @@ export class BoardAudio { currentSoundExpressionCallback: undefined | (() => void); private stopActiveRecording: (() => void) | undefined; - constructor() {} + constructor( + private microphoneEl: SVGElement + ) {} initializeCallbacks({ defaultAudioCallback, @@ -190,6 +192,7 @@ export class BoardAudio { this.stopRecording(); return; } + this.microphoneEl.style.display = "unset" const source = this.context!.createMediaStreamSource(micStream); // TODO: wire up microphone sensitivity to this gain node @@ -227,6 +230,7 @@ export class BoardAudio { gain.disconnect(); source.disconnect(); micStream.getTracks().forEach(track => track.stop()) + this.microphoneEl.style.display = "none" this.stopActiveRecording = undefined; }; } diff --git a/src/board/index.ts b/src/board/index.ts index 6bd607c3..fa9f5433 100644 --- a/src/board/index.ts +++ b/src/board/index.ts @@ -202,7 +202,7 @@ export class Board { this.pins[MICROBIT_HAL_PIN_P19] = new StubPin("pin19"); this.pins[MICROBIT_HAL_PIN_P20] = new StubPin("pin20"); - this.audio = new BoardAudio(); + this.audio = new BoardAudio(this.svg.querySelector("#LitMicrophone")!); this.temperature = new RangeSensor("temperature", -5, 50, 21, "°C"); this.accelerometer = new Accelerometer(onChange); this.compass = new Compass();