3737 - [ Video Playback via URL or Local Files] ( #video-playback-via-url-or-local-files )
3838 - [ Full Controls] ( #full-controls )
3939 - [ Progress Indicators] ( #progress-indicators )
40- - [ Display Left and Right Volume Levels] ( #display-left-and-right-volume-levels )
4140 - [ Error Handling] ( #error-handling )
4241 - [ Loading Indicator] ( #loading-indicator )
4342 - [ Using Subtitles] ( #using-subtitles )
@@ -68,7 +67,7 @@ Try the online demo here : [🎥 Live Demo](https://kdroidfilter.github.io/Compo
6867- ** Media Controls** : Includes play, pause, loop toggle, volume control, playback speed, loop playback and timeline slider.
6968- ** Initial Playback Control** : Choose whether videos automatically play or remain paused after opening.
7069- ** Custom Video Player UI** : Fully customizable using Compose Multiplatform, with support for custom overlays that display even in fullscreen mode.
71- - ** Audio Levels ** : Displays left and right audio levels in real time .
70+ - ** HLS Streaming ** : Native HLS (M3U8) support on all platforms except Web .
7271- ** Fullscreen Mode** : Toggle between windowed and fullscreen playback modes.
7372- ** Picture-in-Picture (PiP)** : Continue watching in a floating window on Android (8.0+) and iOS.
7473- ** Audio Mode** : Configure audio interruption behavior and iOS silent switch handling.
@@ -87,6 +86,12 @@ Try the online demo here : [🎥 Live Demo](https://kdroidfilter.github.io/Compo
8786| WEBM | ❌ | ✅ | ❌ | ✅ | ✅ |
8887| WMV | ✅ | ✅ | ❌ | ❌ | ❌ |
8988| 3GP | ✅ | ✅ | ✅ | ✅ | ❌ |
89+ | HLS (M3U8) | ✅ | ✅ | ✅ | ✅* | ❌ |
90+
91+ > * \* On Android, HLS requires adding the ExoPlayer HLS module dependency:*
92+ > ``` kotlin
93+ > implementation(" androidx.media3:media3-exoplayer-hls:<version>" )
94+ > ```
9095
9196
9297## 🔧 Installation
@@ -353,18 +358,6 @@ For programmatic seeking (e.g. skip forward/backward), use `seekTo` directly:
353358playerState.seekTo(500f )
354359```
355360
356- ### Display Left and Right Volume Levels
357-
358- To display audio levels:
359-
360- ``` kotlin
361- println (" Left level: ${playerState.leftLevel.toInt()} %, Right level: ${playerState.rightLevel.toInt()} %" )
362- ```
363-
364- > [ !IMPORTANT]
365- > This feature is not working on iOS.
366-
367-
368361### Error Handling
369362
370363In case of an error, you can display it using ` println ` :
0 commit comments