hls_proplayer 0.1.3
hls_proplayer: ^0.1.3 copied to clipboard
A customizable Flutter video player with HLS support, quality selection, and fullscreen control.
hls_proplayer #
A fully customizable Flutter video player for HLS (.m3u8) live and recorded streams, with video quality switching, custom controls, playback speed, fullscreen handling, and offline MP4 playback with zoom support. 🎥
✨ Features #
- 📡 Play HLS live and recorded streams
- 🎚️ Video quality switching (parse
.m3u8variants) - 🧩 Fully customizable UI: theming + builders for controls, placeholder, buffering
- 🔒 Token auth via request headers
- ⏯️ Autoplay and looping options
- ⏩ Playback speed control
- 📱 Fullscreen orientation handling
- 📥 Offline download support – play saved
.mp4files - 🔍 Zoom & pan gestures when playing videos
🚀 Installation #
Add to your pubspec.yaml:
dependencies:
hls_proplayer: ^0.1.2
---
## 🧰 Usage
import 'package:hls_proplayer/hls_proplayer.dart';
HlsPlayer( url: 'https://example.com/master.m3u8', mode: Mode.live, headers: {'Authorization': 'Bearer
---
## 🎨 Customization API
- **Theming**: pass `HlsControlsTheme` to style overlay, icon colors/sizes, progress & live colors.
- **Controls builder**: provide `controlsBuilder` to render a completely custom controls widget.
- **Placeholders**: `placeholderBuilder` (before qualities load) and `bufferingIndicatorBuilder` (while loading/buffering).
- **Behavior**: `autoplay`, `looping`, `controlsHideTimeout`.
---
## 📦 Example App
See `example/` for a minimal app demonstrating live and recorded playback and custom UI.
---
## ❗ Troubleshooting
- UnimplementedError: init() has not been implemented. Add `video_player` as a dependency in your app (not only the plugin) so the platform implementation is registered:
```yaml
dependencies:
video_player: ^2.10.0
- Android: ensure a recent emulator/device with GLES 2.0+. If you see
called unimplemented OpenGL ES API, try a real device or change emulator graphics settings.