Releases: alnitak/flutter_soloud
Releases · alnitak/flutter_soloud
V4
4.0.0 (3 Apr 2026)
- fix: some OGG audio files don't trigger
SoundEventType.handleIsNoMoreValid - fix: setBufferStream fails to decode small MP3 files under 32 KB #434. Thanks to @chaudharydeepanshu
- fix web:
createVoiceGroupreturn was interpreted as a signed int instead of unsigned because it has always the sign bit flag - fixed switching output devices on macOS and maybe on others platforms, didn't initialize correctly the new one
- added some more tests
- removed deprecated
equalizerFilterin favor ofparametricEqFilter
4.0.0-pre.3 (29 Mar 2026)
- fix: FFI symbol stripping causing "symbol not found" errors in iOS/macOS when uploading to App Store #431
- fix decreasing volume when adding a bus to another
4.0.0-pre.2 (28 Mar 2026)
- macOS/iOS fix: check for cmake in path while building
- iOS simulator: fix libs linking
4.0.0-pre.1 (26 Mar 2026)
- macOS fix: build error
4.0.0-pre.0 (24 Mar 2026)
- added Mixing Bus feature and example https://docs.page/alnitak/flutter_soloud_docs/advanced/mixing_bus
- added
getApproximateVolumeto get the approximate volume of a channel of the player - added
autoDisposeparameter toload*methods to automatically dispose the sound when it is finished. This eliminates the need to manually call disposeSource - added
playSourceto play a source from assets, URLs, or file and automatically dispose itsAudioSourcewhen it is finished - added
filters/parametric_eq.dartexample - added parametric equalizer with 1 to 64 bands and FFT window size from 32 to 4096 for quality and performance
- added Swift Package Manager support
- improved quality and performance of the pitchshift filter #313
- CocoaPods now uses cmake to compile the plugin always in release mode for macOS and iOS
- conditional import of
jsandwasmonly on web (no more included on other platforms) - win fix: UTF8 file name conversion was causing crash or file not found #427
- fixed a possible crash during app shutdown
- possible fix for #333 which caused an ANR on Android when stopping/deinit or closing the app
- Linux feat: choose to link ogg, opus, vorbis, and flac libraries from the system with
TRY_SYSTEM_LIBS_FIRST=1environment variable #421. Useful for Rasperry Pi because the precompiled libs are available only for x86_64. - Android fix: elevate audio thread priority on Android #396. Thanks to @djkingCanada
- Android: build optimizations
breaking changes
- bump Flutter version to 3.41.0 and Dart to 3.11.0
- play, play3d, speechText, are now sync
- renamed
NO_OPUS_OGG_LIBSenvironment variable toNO_XIPH_LIBS - renamed
SoLoudOpusOggVorbisLibsNotAvailableExceptiontoSoLoudXiphLibsNotAvailableException - renamed
areOpusOggLibsAvailabletoareXiphLibsAvailable
v3.5.0-pre.0
What's Changed
- improved quality and performance of the pitchshift filter #313
- added
filters/parametric_eq.dartexample - added parametric equalizer with 1 to 64 bands and FFT window size 32 to 4096 for quality and performance
- Android fix: elevate audio thread priority on Android #396. Thanks to @djkingCanada
Full Changelog: v3.4.9...v3.5.0-pre.0
v3.4.9
What's Changed
- fix crash when seeking with a negative value #386
- Linux fix: don't use -msse on arm64 builds #395. Thanks to @adil192
- Android fix: enable AAudio with runtime API level check for safe fallback #397. Thanks to @djkingCanada
Full Changelog: v3.4.8...v3.4.9
v3.3.4
flutter_soloud v3.3.0
What's Changed
- Added support for MP3 streams
- Added support for Vorbis streams
- Added
web_radio.dartexample to demonstrate how to receive an audio stream (ie, an icecast stream) and then add the audio chunks to BufferStream - Add
BufferType.autoto auto-detect ogg/opus/vorbis/mp3 streams - Deprecate
BufferType.opusin favor ofBufferType.auto - Get TAGs info also while streaming, and not only by sending chunks of an audio file. For MP3s, the TAGs are obtained from ID3V2 or passing
icy-metaint(obtained from the header of the online stream) before adding audio chunks to the BufferStream. New metadata is notified by theonMetadatacallback ofsetBufferStream
flutter_soloud v3.2.2
- OGG is now also supported using
readSamplesFrom*methods. - fix getPosition and buffering for released buffer.
flutter_soloud v3.2.1
What's Changed
- it is now possible to use a 3rd party plugin like
audio_sessionto manage audio context. - new audio context example in
example/lib/audio_context/audio_context.dart. - fix GetPosition returned value for buffer streams.
New Contributors
- @MinseokKang003 made their first contribution in #260
flutter_soloud v3.1.12
- added
getStreamTimeConsumed()to get the time consumed by a buffer stream of kindBufferingType.released. Since the position of this kind of stream is always 0, this method is useful to know the time already played. - fix pause/unpause on audio stream buffering.
- added
buffer_stream/simple_noise_stream.dartexample.
buffer_stream_example.mp4
flutter_soloud v3.1.11
- fix: Loading the same AudioSource twice (in parallel) crashes #247
- fix win: force cmake to build the plugin in release mode even if building in debug
v3.1.2
What's Changed
- Enhanced documentation clarity and organization by moving it to the dedicated flutter_soloud_docs repo. Powered by docs.page from Invertase and can be viewed here. by @alnitak in #207
- Update miniaudio and dr_libs libraries by @alnitak in #209
Full Changelog: v3.1.1...v3.1.2