mediasession-kt
A Kotlin Multiplatform library for emitting a system media session.
Windows implementation adapted from JavaMediaTransportControls by Selemba1000.
Setup
mediasession-kt currently supports the following Kotlin platforms:
- JVM (tested on x86_64 but may work on other architectures)
- Native
- Linux x86_64
- Linux ARM64
- Windows x86_64
Gradle:
- Add the Maven Central repository to your dependency resolution configuration
repositories {
mavenCentral()
}
- Add the following line to your dependencies (replace
<version> with the desired mediasession-kt version)
implementation("dev.toastbits:mediasession:<version>")
Example usage
var time = TimeSource.Monotonic.markNow()
val session: MediaSession =
MediaSession.(
getPositionMs = { () }
)!!
session = {
("onPlay called")
}
session = { by_ms: Long ->
()
}
session("mediasession.sample")
session(MediaSessionPlaybackStatus.PAUSED)
session(
MediaSessionMetadata(
title = "Title",
)
)
session(true)