0 purchases
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.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.