Kodio 0.1.1 Help

Migration

Guide for upgrading between Kodio versions.

0.0.5 to 0.0.6

Error types are now classes for proper stack traces:

when (error) { AudioError.PermissionDenied -> ... AudioError.NotInitialized -> ... }
when (error) { is AudioError.PermissionDenied -> ... is AudioError.NotInitialized -> ... }

Session API to high-level API

val session = SystemAudioSystem.createRecordingSession() session.start() delay(5000) session.stop() val audioFlow = session.audioFlow.value!!
val recording = Kodio.record(duration = 5.seconds) recording.play()

Compose migration

var session by remember { ... } var isRecording by remember { ... } DisposableEffect(Unit) { ... }
val recorderState = rememberRecorderState() Button(onClick = { recorderState.toggle() }) { ... }

Accessing sessions

The session API is still available for advanced use:

@Suppress("DEPRECATION") val session = recorder.underlyingSession()
Last modified: 13 January 2026