RTCEngine.setRtcMicDeviceEvent(...); pass null to unbind. If you only care about some events, extend RTCMicDeviceSimpleEvent.
onMicDeviceListChanged(devices)
onMicDeviceInvalid(deviceId, reason)
deviceId is the device handle for this connection, and reason is why it became invalid.
For input device fields, see Types; for querying and switching devices, see LocalMicTrack.