just_audio_libwinmedia

The libwinmedia implementation of just_audio.

⚠️ Deprecated

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

So, what to use?

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

Installation

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

Linux

Install the required packages before building your app.

sudo apt-get install libwebkit2gtk-4.0-dev

Features

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