flutter_pcm_sound 3.1.1 copy "flutter_pcm_sound: ^3.1.1" to clipboard
flutter_pcm_sound: ^3.1.1 copied to clipboard

Send real-time PCM audio (16-bit integer) to your device speakers

pub package

Logo

Send real-time PCM audio (16-bit integer) to your device speakers, from your Flutter app!

No Dependencies #

FlutterPcmSound has zero dependencies besides Flutter, Android, iOS, and MacOS themselves.

Not for Audio Files #

Unlike other plugins, flutter_pcm_sound does not use audio files (For example: sound_pool).

Instead, flutter_pcm_sound is for apps that generate audio in realtime a few milliseconds before you hear it. For example, using dart_melty_soundfont.

Callback Based, For Real-Time Audio #

In contrast to raw_sound, FlutterPcmSound uses a callback setFeedCallback to signal when to feed more samples.

You can lower the feed threshold using setFeedThreshold to achieve real time audio, or increase it to have a cushy buffer.

One-Pedal Driving #

To play audio, just keep calling feed.

To stop audio, just stop calling feed.

Usage #

// for testing purposes, a C-Major scale 
MajorScale scale = MajorScale(sampleRate: 44100, noteDuration: 0.25);

// invoked whenever we need to feed more samples to the platform
void onFeed(int remainingFrames) async {
    // you could use 'remainingFrames' to feed very precisely.
    // But here we just load a few thousand samples everytime we run low.
    List<int> frame = scale.generate(periods: 20);
    await FlutterPcmSound.feed(PcmArrayInt16.fromList(frame));
}

await FlutterPcmSound.setup(sampleRate: 44100, channelCount: 1);
await FlutterPcmSound.setFeedThreshold(8000); 
await FlutterPcmSound.setFeedCallback(onFeed);
FlutterPcmSound.start(); // just invokes your feed callback

⭐ Stars ⭐ #

Please star this repo & on pub.dev. We all benefit from having a larger community.

Example App #

Enable the platforms you need.

cd ./example                      
flutter config --enable-macos-desktop                                                      
flutter config --enable-android 
flutter config --enable-ios 
flutter create .
flutter run
18
likes
150
points
783
downloads

Publisher

verified publisherjamcorder.com

Weekly Downloads

Send real-time PCM audio (16-bit integer) to your device speakers

Repository (GitHub)
View/report issues

Documentation

API reference

License

Unlicense (license)

Dependencies

flutter

More

Packages that depend on flutter_pcm_sound