The libwinmedia implementation of just_audio
.
The project is now archived. The library that is used by this plugin to implement the audio playback features (libwinmedia) is now deprecated, which makes impossible to continue to maintain this plugin.
- Inefficient Linux support: using WebKit limits the possibilities of audio management
- Unnecessary abstraction: it's better to make separated implementations
- Unsafe: crashes due to JS interop
- No backward compatibility: only Windows 10+ is supported
- No embedded Linux support: it cannot be used on non-GTK Flutter embedders like flutter-pi
For Windows, you can use just_audio_windows, which is a just_audio implementation using native code for windows.
For Linux, you can use just_audio_mpv, which uses mpv_dart
Add the just_audio_libwinmedia dependency to your pubspec.yaml
alongside with just_audio
:
dependencies:
just_audio: any # substitute version number
just_audio_libwinmedia: any # substitute version number
Install the required packages before building your app.
sudo apt-get install libwebkit2gtk-4.0-dev
Feature | Windows | Linux |
---|---|---|
read from URL | ✅ | ✅ |
read from file | ✅ | ✅ |
read from asset | ✅ | ✅ |
read from byte stream | ||
request headers | ||
DASH | ✅ | |
HLS | ✅ | |
ICY metadata | ||
buffer status/position | ✅ | ✅ |
play/pause/seek | ✅ | ✅ |
set volume/speed | ✅ | ✅ |
clip audio | ||
playlists | ✅ | ✅ |
looping/shuffling | ✅ | ✅ |
compose audio | ||
gapless playback | ✅ | |
report player errors | ✅ | ✅ |
handle phonecall interruptions | ||
buffering/loading options | ||
set pitch | ||
skip silence | ||
equalizer | ||
volume boost |