better_audio_capture

Creator: coderz1093

Last updated:

0 purchases

better_audio_capture Image
better_audio_capture Images

Languages

Categories

Add to Cart

Description:

better audio capture

better_audio_capture #
A simple audio capture for Flutter.
Install Started #

Add this to your pubspec.yaml file:

dependencies:
better_audio_capture: ^0.1.1
copied to clipboard

Install it

$ flutter packages get
copied to clipboard
Normal usage #

CupertinoButton(
child: Text("start capture"),
onPressed: () async {
bytesBuilder.clear();

// request audio session
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration(
avAudioSessionCategory: AVAudioSessionCategory.record,
avAudioSessionMode: AVAudioSessionMode.measurement,
avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy,
avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none,
));

if (await session.setActive(true)) {
subscription = betterAudioCapture?.pcmStream.listen((event) {
bytesBuilder.add(event);
print("recording");
});

betterAudioCapture?.init(sampleRate: 16000, channelCount: 1);
betterAudioCapture?.startCapture();
}
});
},
),

CupertinoButton(
child: Text("stop capture"),
onPressed: () async {
subscription?.cancel();
betterAudioCapture.stopCapture();
betterAudioCapture.dispose();

Directory tempDir = await getTemporaryDirectory();
File waveFile = File(tempDir.path + "/record.wav");
if (waveFile.existsSync()) {
waveFile.deleteSync();
}

IOSink waveFileSink = waveFile.openWrite();
waveFileSink.add(BetterAudioCapture.waveHeader(bytesBuilder.length));
waveFileSink.add(bytesBuilder.takeBytes());
await waveFileSink.close();
},
),
copied to clipboard
Feature #

✅ Audio capture by microphone.
✅ Set audio stream sampleRate.
✅ Set audio stream channelNumber.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.