startAudioCapture method
@detail api
@author dixing
@brief Start internal audio capture. The default is off.
Internal audio capture refers to: capturing audio using the built-in module.
The local client will be informed via onAudioDeviceStateChanged{@link #IRTCEngineEventHandler#onAudioDeviceStateChanged} after starting audio capture by calling this API.
The remote clients in the room will be informed of the state change via onUserStartAudioCapture{@link #IRTCEngineEventHandler#onUserStartAudioCapture} after the visible user starts audio capture by calling this API.
@return
- 0: Success.
- < 0 : Fail. See ReturnStatus{@link #ReturnStatus} for more details
@note
- To enable a microphone without the user's permission will trigger onWarning{@link #IRTCEngineEventHandler#onWarning}.
- Call stopAudioCapture{@link #RTCEngine#stopAudioCapture} to stop the internal audio capture. Otherwise, the internal audio capture will sustain until you destroy the engine instance.
- To mute and unmute microphones, we recommend using publishStreamAudio{@link #RTCRoom#publishStreamAudio}, other than stopAudioCapture{@link #RTCEngine#stopAudioCapture} and this API. Because starting and stopping capture devices often need some time waiting for the response of the device, that may lead to a short silence during the communication.
- To switch from custom to internal audio capture, stop publishing before disabling the custom audio capture module and then call this API to enable the internal audio capture.
Implementation
FutureOr<int> startAudioCapture() async {
return await nativeCall('startAudioCapture', []);
}