搜索插件、代码仓与 APP 分类

插件详情v5.2.2

flutter_soloud

一个用于 Flutter 的低级音频插件,主要面向游戏和沉浸式应用。基于 SoLoud (C++) 音频引擎。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
18.2万
喜欢数
613
Pub 分数
160

安装插件

flutter pub add flutter_soloud

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

flutter_soloud 是一个基于 SoLoud C++ 音频引擎构建的 Flutter 低级别音频插件。它提供高效、实时的音频播放,非常适合游戏和沉浸式应用。该包支持多种平台,包括 Android、iOS、Web、macOS、Windows 和 Linux,可在不同设备上实现一致的音频性能。专为需要对声音进行精细控制的开发者设计,提供 3D 空间音频、流媒体播放和样本处理等功能。其轻量级特性使其适用于对性能要求极高的应用,其中最小延迟和高响应性至关重要。

适合场景

  • 游戏音频实现
  • 沉浸式虚拟现实/增强现实体验
  • 实时音效
  • 音频驱动的互动应用
  • 低延迟音频处理

主要特点

  • 跨平台音频支持
  • 3D空间音频
  • 流式音频播放
  • 样本级音频控制
  • 低延迟

适合对象

  • 游戏开发者
  • 交互式应用创建者
  • 音频工程师
  • 注重性能的应用程序
  • 基于 C++ 的音频集成

使用建议

  • 需要了解低级别音频概念
  • 有限的高级抽象
  • 不适合简单的音乐播放
  • 最适合高级用例
  • 平台特定的音频行为可能会有所不同

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

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+ iOS 16.4+
Safari 16.4+
Chrome 91+
Edge 91+
Firefox 89+

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
  • ⏱️ 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)
  • 🎛️ Rich effects system (reverb, echo, limiter, parametric equalizer, pitch shift, 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
  • 🔴 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.)

Getting Started

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.

For complete setup instructions and Windows download links, see the Xiph Libraries & Codecs Guide.

Documentation

AI Agent Skills

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:

dart run flutter_soloud:skills --check

Simple Example

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

  await soloud.playSource(asset: 'assets/sound.mp3');
  // or
  final sound = await soloud.loadAsset('assets/sound.mp3');
  final handle = soloud.play(sound);
  
  [...]
  await soloud.deinit();
}

Apps & Games Using flutter_soloud

A showcase of apps and games built with this plugin:

App/Game Developer Description
GPhil
web MacOS Windows
Vyacheslav Gryaznov Innovative app designed for musicians to play instrumental concertos with flexible virtual orchestral accompaniment.
Forcebar Doug Todd Forcebar is a pure reflex game.
RadioVisualizer Marco Bavagnoli Stream over 35,000 live radio stations from every corner of the globe.
Stellar Bastion
web Android iOS
Coconut Island Apps 2D Tower Defense game.
Mortigen
web Android iOS
Luis Enrique Ruiz Roguelite survival shooter.
SUMOJI
web Android iOS
Valentin Martinet Fun Emoji-based Sudoku.
GuanDan
web MacOS Windows Android iOS
yangyuan GuanDan (掼蛋) is a popular four-player Chinese card game.
DeReMi Piano: Play & Learn
Android
Gent Mecaj A piano learning app.

Want to add your app? Feel free to open a PR!

License

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

所属分类

依赖

依赖清单 11 项

源码仓库

使用此插件的项目