Audio Session Manager
Android implementation of AudioSessionManager.
Manages AudioFocus for coordinated player/recorder usage.
Cross-platform audio session manager.
Coordinates audio session/focus for player and recorder to work together. Platform implementations handle iOS AVAudioSession and Android AudioFocus.
Usage:
// Configure for singalong (playback + recording)
AudioSessionManager.configure(AudioMode.PLAY_AND_RECORD, echoCancellation = true)
// Listen for focus changes
AudioSessionManager.addFocusListener(object : AudioFocusListener {
override fun onFocusGained() { player.play() }
override fun onFocusLost(transient: Boolean) { player.pause() }
override fun onDuck() { player.setVolume(0.3f) }
})
// Deactivate when done
AudioSessionManager.deactivate()iOS implementation of AudioSessionManager.
Manages AVAudioSession configuration for coordinated player/recorder usage.
Properties
Current active mode, or null if not configured.
The hardware's preferred sample rate for audio recording.
AEC is not currently supported on Android for singing/music use cases.
Check if acoustic echo cancellation (AEC) is available on this device.
iOS always supports AEC through VoiceChat mode (all versions) or setPrefersEchoCancelledInput (iOS 18.2+).