Kodio
Main entry point for the Kodio audio library.
Provides a simplified, discoverable API for audio recording and playback with sensible defaults and progressive disclosure of advanced options.
Quick Start
Recording Audio
// Simple 5-second recording
val recording = Kodio.record(duration = 5.seconds)
// Manual control
Kodio.record { recorder ->
recorder.start()
// ... wait for user action
recorder.stop()
recorder.getRecording() // access the result
}Playing Audio
// Play a recording
Kodio.play(recording)
// Play with control
Kodio.play(recording) { player ->
player.start()
delay(2.seconds)
player.pause()
// ...
}Platform Initialization
Android - Call from your Activity (recommended) to wire up both context and permission handling:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Kodio.initialize(this)
}
override fun onRequestPermissionsResult(
requestCode: Int, permissions: Array<out String?>,
grantResults: IntArray, deviceId: Int
) {
Kodio.onRequestPermissionsResult(requestCode, grantResults)
}
}Alternatively, call Kodio.initialize(context) from an Application subclass to set the context only.
Other platforms (JVM, iOS, JS) work without explicit initialization.
Types
Wrapper around the permission manager for a cleaner API.
Properties
Functions
Configure Kodio's logging. Silent by default; see space.kodio.core.logging.KodioLogging.
Initialize Kodio with an Activity.
Initialize Kodio with an Application instance.
Android-specific Kodio initialization.
Lists all available audio input devices (microphones).
Lists all available audio output devices (speakers).
Forward the permission callback to Kodio.
Plays an AudioFlow to completion (legacy compatibility).
Plays an AudioRecording to completion.
Plays an AudioRecording with manual control via a lambda.
Records audio for a specified duration.
Records audio with manual control via a lambda.
Creates a new Recorder with custom configuration.
Creates a new Recorder instance for recording audio.