feat: Add audio playback system with Media3 and comprehensive audio content classification

- Add Media3 dependencies (ExoPlayer, HLS, MediaSession, UI) for audio streaming
- Implement AudioPlayerService as MediaSessionService with foreground playback support
- Create AudioHandler for playback control and AudioMedia domain model with AudioContentType enum
- Add MiniPlayerBar and FullPlayerSheet UI components with play/pause, seek, and navigation controls
- Implement AudioClassifier with strict priority
This commit is contained in:
2026-02-11 11:23:22 -05:00
parent 1deac8850a
commit 2b8134f5b7
21 changed files with 1394 additions and 60 deletions
+7
View File
@@ -25,6 +25,7 @@ dataStore = "1.0.0"
kotlinxSerialization = "1.6.2"
coil = "2.6.0"
biometric = "1.1.0"
media3 = "1.2.1"
[libraries]
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
@@ -87,6 +88,12 @@ kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-
# Biometric
androidx-biometric = { group = "androidx.biometric", name = "biometric", version.ref = "biometric" }
# Media3 (ExoPlayer + MediaSession)
androidx-media3-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "media3" }
androidx-media3-exoplayer-hls = { group = "androidx.media3", name = "media3-exoplayer-hls", version.ref = "media3" }
androidx-media3-session = { group = "androidx.media3", name = "media3-session", version.ref = "media3" }
androidx-media3-ui = { group = "androidx.media3", name = "media3-ui", version.ref = "media3" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }