flame-engine / flame-engine/flame

[flame_audio] Switch to flutter_soloud for low latency playback?

Open
#4,012 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Dart
Stars
10.8k
Forks
1k
Avg merge
1d 20h
Merged PRs (30d)
21

Description

### Problem to solve

Currently flame_audio uses audioplayers for audio playback. This was useful in the beginning, as this provided a good compromise between reliability on the functionality through the platform, without the need to spend too much effort in implementing low level architecture audio features.

### Proposal

Things have progressed and I think especially for games flutter_soloud may be a better fit:
- Low latency audio playback (all platforms)
- much more control for audio manipulation
- more performant
- same behavior across platforms

While I did not try to use flutter_soloud yet, it sounds worth a try. I also don't know how feasable it is to replace the player in flame_audio under the hood. But for the overall flame experience, we can think of making the switch, either directly in flame (via examples, integration, etc.) or via flame_audio.

See also: https://github.com/bluefireteam/audioplayers/issues/2021

### More information

_No response_

### Other

- [ ] Are you interested in working on a PR for this?

I would just want to explore, and then decide on what is worth implementing / changing.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing flame_audio's current audioplayers integration, then investigate whether flutter_soloud can provide the proposed low-latency, cross-platform behavior. Compare feasibility and integration impact, and document a recommendation about whether and where to make the switch.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart, flutter
Domain
audio-video-rtc, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.