Package selection guidance compiled from public package information, community data, and project usage.
flutter_soloud is a low-level audio plugin for Flutter, built on the SoLoud C++ audio engine. It provides efficient, real-time audio playback ideal for games and immersive applications. The package supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux, enabling consistent audio performance across devices. Designed for developers needing fine-grained control over sound, it offers features like 3D spatial audio, streaming, and sample manipulation. Its lightweight nature makes it suitable for performance-critical apps where minimal latency and high responsiveness are essential.
Use cases
Game audio implementation
Immersive VR/AR experiences
Real-time sound effects
Audio-driven interactive apps
Low-latency audio processing
Key features
Cross-platform audio support
3D spatial audio
Streaming audio playback
Sample-level audio control
Low latency
Suitable for
Game developers
Interactive app creators
Audio engineers
Performance-focused applications
C++-based audio integration
Considerations
Requires knowledge of low-level audio concepts
Limited high-level abstractions
Not ideal for simple music playback
Best suited for advanced use cases
Platform-specific audio behavior may vary
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
A high-performance audio plugin designed primarily for games and immersive applications, providing low latency and advanced features.
Key Features
⚡ Low latency, high performance audio
⏱️ Sample-accurate scheduled playback: playClocked for sub-millisecond spaced playback regardless of buffer size, and playScheduled for score/manifest-style scheduling of whole batches of sounds on the engine's own clock (with optional scheduled stop/fade). Perfect for metronomes, music sequencers, rhythm games and precisely timed audio cues
🎮 3D positional audio with Doppler effect
🔄 Gapless looping with half-open [start, end) loop regions
🔄 Stream audio with auto-pause for buffering, support for PCM, MP3, WAV, Ogg with Opus, Vorbis and FLAC containers
📥 Pull-buffer streaming: the engine requests encoded data on demand (MP3, WAV, FLAC, Ogg Opus/Vorbis/FLAC), with seek support and callbacks for buffering, metadata, duration and data requests — ideal for network streams and custom data sources
🚌 Mixing buses: group voices (music, SFX, UI...) into sub-mixes with their own volume, filters and visualization
📊 Get audio wave and/or FFT audio data in real-time (useful for visualization)
⚙️ Faders for attributes (e.g. fade out for 2 seconds, then stop)
🎚️ Oscillators for attributes
🌊 Waveform generation and visualization
🔊 Multiple voices, playing different or even the same sound multiple times
🎵 Support for MP3, WAV, OGG, and FLAC
🔴 Capture the master mixer output as a stream for recording, processing, or streaming (with different PCM formats and Opus, Vorbis, FLAC, WAV encoded stream formats)
⏱️ Read audio data samples from a file with a given time range
🌊 Generate waveforms in real-time with various types (sine, square, saw, triangle, etc.)
If you are looking for a package to visualize audio using shaders or CustomPainter, please check out audio_flux. It uses this plugin for output and flutter_recorder for input.
If you are working with MIDI or SoundFont files (SF2/SF3/SFZ), check out soundfont_kit—a companion package that is very helpful for musicians and game developers looking to synthesize instrument audio using SoundFonts with flutter_soloud.
The native code is built with Dart build hooks: no CMake, CocoaPods script phases, or SPM configuration is needed — it works the same whether your app uses CocoaPods or Swift Package Manager.
By default, Xiph audio codecs (Ogg, Vorbis, Opus, FLAC) are linked and bundled from tested prebuilt libraries (xiph/prebuild/<platform>/), ensuring that packaged apps (Android AAB/APK, iOS IPA, macOS APP, Windows EXE) work out of the box with zero external build dependencies. You can also configure:
System libraries: Set <platform>_use_system_libs: true (e.g. linux_use_system_libs: true) to link system packages.
Force source build: Set <platform>_force_build_libs: true to clone and compile from source via CMake.
Without Xiph mode: Set no_xiph_libs: true to exclude Xiph codecs and shrink binary size.
flutter_soloud includes bundled Agent Skills (SKILL.md instruction files) to help AI coding agents (Claude, Cursor, Gemini, GitHub Copilot, Cline, Codex, OpenCode, etc.) generate correct, high-performance code for all features of this audio engine.
Install or update the skills in your project by running:
dart run flutter_soloud:skills
To check whether installed skills are up to date without modifying any files: