Mic.AvailableDevices could return several virtual devices that don't often capture any audio. Often out of the available devices array there's only one that's actually capturing the audio. This means that you need to provide a UI with a dropdown to select the device you want to use as it may not always be on index 0.
Feature: Make an API that returns the devices that are actively recording audio.