Ok, I thought I tried that but apparently not the right way. Doing it again does show the microphones after I call startAudio.
Is there a way to get the permission check without calling that? My goal was to provide a “join dialog” that also let the user pick their devices. The side-effect is that it enforces a user action before calling startAudio on a refresh of the page which doesn’t work if I need it for the dropdown.
Obviously I could start the audio then mute it, but that seems like a bit of a workaround. It also doesn’t accomodate the lack of a user action without trying to lazy-load the dropdown (which then begs the question, how do I get the initial label).
Ah thanks. Looks like that has basically the same response as enumerateDevice. The device IDs are the same as getMicList so I’m guessing I just needed to start the audio before calling stream.switchMicrophone (previously it said that I had an invalid device ID there.