flutter_audio_recorder
Flutter音频录制插件,支持录制暂停恢复停止并提供音频电平计量属性平均功率峰值功率(目前仅限iOS)
安装
将flutter_audio_recorder添加到您的pubspec.yaml
iOS权限
向plist添加使用说明
<key>NSMicrophoneUsageDescription</key>
<string>Can We Use Your Microphone Please</string>
用法
初始化(在start之前运行此项,以便我们检查具有给定名称的文件是否已存在)
var recorder = FlutterAudioRecorder("filename", AudioFormat.AAC);
await _recorder.initialized;
或者
var recorder = FlutterAudioRecorder("filename.mp4"); // .wav .aac .m4a
await _recorder.initialized;
开始录制
await recorder.start();
var recording = await recorder.current(channel: 0);
获取录制详情
var current = await recording.current(channel: 0);
// print(current.status);
您可以使用计时器每50毫秒访问一次详情(录制完成后取消计时器即可)
new Timer.periodic(tick, (Timer t) async {
var current = await recording.current(channel: 0);
// print(current.status);
setState(() {
});
});
录音
| 名称 | 描述 |
|---|---|
| path | 字符串 |
| 扩展 | 字符串 |
| duration | 持续时间 |
| audioFormat | AudioFormat |
| metering | AudioMetering |
| 状态 | RecordingStatus |
Recording.metering
| 名称 | 描述 |
|---|---|
| peakPower | 双精度 |
| averagePower | 双精度 |
| isMeteringEnabled | 布尔值 |
Recording.status
未设置,已初始化,录制中,已暂停,已停止
暂停
await _recorder.pause();
简历
await _recorder.resume();
停止(stop之后,再次运行init以创建另一个录制)
var result = await _recorder.stop();
File file = widget.localFileSystem.file(result.path);
示例
请检查Xcode中的示例应用程序。