setAudioSessionManagementMode method

Future<void> setAudioSessionManagementMode(
  1. AudioSessionManagementMode mode
)

Selects whether LiveKit manages the platform audio session automatically.

In AudioSessionManagementMode.manual, LiveKit does not update the audio session from room, connect, or track lifecycle. The app can still apply a configuration explicitly with setAudioSessionOptions and release it with deactivateAudioSession.

Prefer setting this before connecting to a room. flutter_webrtc's own native audio management is always disabled (LiveKit owns the session). Switching back to automatic mode reapplies LiveKit's managed policy.

Implementation

Future<void> setAudioSessionManagementMode(AudioSessionManagementMode mode) async {
  final previousMode = _managementMode;
  _managementMode = mode;
  await _syncAppleAudioSessionManagementMode();
  if (previousMode != AudioSessionManagementMode.automatic && mode == AudioSessionManagementMode.automatic) {
    await _applyCurrentAudioSessionPolicy();
  }
}