Repository navigation
KitePlayer 0.0.25
The audio visualiser no longer crashes on Android 13 and newer, and the media session behaves on every platform: buffering shows as buffering, the lock screen and the now playing card are written only when they would be wrong, and the web gets browser media controls.
Usage
// Native views, no Compose.
implementation("io.github.yuroyami:kiteplayer:0.0.25")
// Compose playback, including the default player and both video paths.
implementation("io.github.yuroyami:kiteplayer-compose:0.0.25")
// Optional Compose audio visualiser, alongside either playback dependency.
implementation("io.github.yuroyami:kiteplayer-audioviz:0.0.25")Changelog
- Fixed the audio visualiser crashing on Android 13 and newer with "Software rendering doesn't support RuntimeShader". On Android, warp drawings now leave a plain echo instead of a bent one. Fixes #135.
- Fixed a stalled stream showing as paused on the Android lock screen, and the lock screen being rewritten on every tick.
- Fixed the iOS now playing card being rebuilt five times a second. Live streams are marked live and get no scrub bar.
- Added browser media controls on the web through
KitePlayerMediaSession, and a desktop stub that reports it is unavailable. - Both samples now use the media session and the playback guards. Fixes #77.
- Breaking:
MediaSessionStatetakes aphaseand ahasVideoflag. Code that builds or copies one needs the new parameters; readingplayingworks as before.
See the full changelog for the complete list.
Dependencies
- Kotlin 2.4.10, Compose Multiplatform 1.12.0
- Android Gradle Plugin 9.4.0, Gradle 9.7.1, JDK 21; Android minSdk 26
- KiteFFmpeg 0.2.0, Kite3D 0.2.0 for the optional visualiser
- Ktor 3.5.2, libass 0.17.4