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中的示例应用程序。

GitHub

https://github.com/shadow-app/flutter_audio_recorder