LocalMicTrack is created by RTCEngine.getLocalMicTrack(...). Microphone capture is decoupled from joining a channel and publishing audio: the app must explicitly call startCapture(...) to open the shared microphone, then publish through RTCEngine or RTCChannel.publishLocalAudio(...).
The same LocalMicTrack can be published to multiple channels. Unpublishing from one channel doesn’t stop capture; stopCapture() closes the shared data source and affects every channel still using the track.
startCapture(listener)
stopCapture()
getVolume()
[-60, 0]; returns the implementation’s silence value when not capturing.
switchMicDevice(deviceId)
deviceId comes from getMicDevices() and is valid only while the device stays connected; switching during capture rebuilds the recording pipeline.
getMicDevices()
getMicDevices() and switchMicDevice(...) on the Engine are convenience entry points to the same shared capture module.