Skip to content

alnitak/flutter_soloud

Repository files navigation

A low-level audio plugin for Flutter.

Pub Version style: very good analysis

Linux Windows Android MacOS iOS Web
Support ๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™ ๐Ÿ’™
Minimum Version Any Any 21 10.15 13.0 Any

Overview

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
  • ๐ŸŽฎ 3D positional audio with Doppler effect
  • ๐Ÿ”„ Gapless looping and streaming
  • ๐Ÿ“Š Get audio wave and/or FFT audio data in real-time (useful for visualization)
  • ๐ŸŽ›๏ธ Rich effects system (reverb, echo, limiter, bassboost, etc.)
  • โš™๏ธ 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
  • โฑ๏ธ Read audio data samples from a file with a given time range
  • ๐Ÿ”„ Stream audio from given audio data with buffering support for PCM and Opus
  • ๐ŸŒŠ Generate waveforms in real-time with various types (sine, square, saw, triangle, etc.)

Documentation

Simple Example

void example() async {
  final soloud = SoLoud.instance;
  await soloud.init();

  final source = await soloud.loadAsset('assets/sound.mp3');
  final handle = await soloud.play(source);
  
  // Later...
  await soloud.stop(handle);
  await soloud.disposeSource(source);  
}

License

The Dart plugin is covered by the MIT license. For information about the underlying SoLoud engine license, see the documentation.