Skip to content

Improve handling of default device switching #160

@tomfa

Description

@tomfa

Problem
Bad handling of default system microphone switch.

Context
It seems to me like switching the default system microphone causes recording/transcription to silently break, as shown in the video below. It does not seem to "un-break" if the default microphone switches back to the original.

This may seem like an edge case, so click here for a few examples
  • Your partner turns on your bluetooth headset in the neighbouring room, but quickly shuts it off again.
  • Your colleague turns on a conference bluetooth speaker in the neighbouring room. It connects to you shortly before they take over the BT-connection to the speaker (and your system swaps back to the correct mic).
  • Your accidentally disconnect your (default) mic, and reconnects it.

To reproduce
(I tried this on Chrome, Mac)

  1. Connect your (default) BlueTooth speaker to your machine.
  2. Open the nextjs-real-time-transcription example app
  3. Start recording, verify that it transcribes well.
  4. Disconnect the (default) BT device.
  5. Verify bug by seeing the lack of transcription.
  6. Reconnect the (default) BT device.
  7. Verify still present bug with lack of transcription.

Note: same bug if you move step 1 to 4 and replace 6 with the original 4

Expected behavior
I would expect a hickup, a detection of device switch, and a recovery.

I realize this may be technically challenging. If so, I'd hope for either:

  • Remove the "default" device-id device from the deviceList array if s likely duplicate is found within the list with a regular id
  • simply a console warning when selecting "default" device with a link to some docs about it

Workaround
We will no longer allow user to select the default microphone.

Video
In the video below, I say "1 minute, 2 minutes, 3 minutes... 10 minutes" on step 3, 5 and 7 in the reproduce list above. Only the first round is transcribed.

which-minutes-you-say.small.mov

Sidenote: The video is from noisy surroundings on bad wifi. But I have verified this issue previously in better conditions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions