Kodio 0.1.1 Help

API Reference

Quick reference for all Kodio APIs.

Kodio

// Recording Kodio.record(duration, quality?, device?) Kodio.record { recorder -> ... } Kodio.recorder(quality?, device?) // Playback Kodio.play(recording, device?) Kodio.play(recording) { player -> ... } Kodio.player(device?) // Devices Kodio.listInputDevices() Kodio.listOutputDevices() // Permissions Kodio.microphonePermission

Recorder

recorder.start() recorder.stop() recorder.toggle() recorder.reset() recorder.release() recorder.getRecording() recorder.isRecording recorder.hasRecording recorder.liveAudioFlow recorder.use { r -> ... }

Player

player.load(recording) player.start() player.pause() player.resume() player.stop() player.toggle() player.release() player.awaitComplete() player.isPlaying player.isPaused player.isReady player.isFinished player.use { p -> ... }

AudioRecording

recording.play() recording.saveAs(path) recording.toByteArray() recording.asFlow() recording.format recording.calculatedDuration recording.sizeInBytes AudioRecording.fromBytes(format, data) AudioRecording.fromChunks(format, chunks)

AudioQuality

AudioQuality.Voice // 16kHz, Mono AudioQuality.Standard // 44.1kHz, Mono (default) AudioQuality.High // 48kHz, Stereo AudioQuality.Lossless // 96kHz, Stereo, 24-bit

AudioError

AudioError.PermissionDenied AudioError.DeviceNotFound AudioError.FormatNotSupported AudioError.DeviceError AudioError.NotInitialized AudioError.AlreadyRecording AudioError.AlreadyPlaying AudioError.NoRecordingData AudioError.Unknown

Compose

val recorderState = rememberRecorderState(quality?, device?) val playerState = rememberPlayerState(recording?, device?) AudioWaveform(amplitudes, barColor?, brush?)

Material 3

RecordAudioButton(isRecording, isProcessing, onClick) PlayAudioButton(isPlaying, isPaused, isReady, isFinished, onClick) AudioPermissionButton(onClick) ErrorDialog(error, onDismiss)
Last modified: 13 January 2026