flutter如何实现wav录音

在Flutter中如何实现WAV格式的音频录制?目前尝试使用audio_recorder插件但只找到MP3格式的支持,需要生成符合标准的WAV文件用于专业音频处理。是否有推荐的插件或方法能直接录制WAV,或者需要自行处理PCM数据并添加WAV头?最好能提供关键代码示例和性能优化建议。

2 回复

使用Flutter录音并保存为WAV格式,可借助flutter_sound库。步骤如下:

  1. 添加依赖:flutter_sound: ^x.x.x
  2. 初始化录音器,设置格式为WAV。
  3. 开始录音并指定文件路径。
  4. 停止录音,自动保存为WAV文件。

示例代码:

await _recorder.startRecorder(toFile: 'audio.wav', codec: Codec.pcm16WAV);

更多关于flutter如何实现wav录音的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中实现WAV录音,可以使用flutter_soundrecord库。以下是使用record库的示例:

  1. 添加依赖
dependencies:
  record: ^4.1.0
  1. 权限配置 Android: android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />

iOS: ios/Runner/Info.plist

<key>NSMicrophoneUsageDescription</key>
<string>需要麦克风权限进行录音</string>
  1. 核心代码实现
import 'package:record/record.dart';

class AudioRecorder {
  final Record _record = Record();

  Future<void> startRecording() async {
    if (await _record.hasPermission()) {
      await _record.start(
        path: '/path/to/recording.wav', // 文件保存路径
        encoder: AudioEncoder.wav,     // 指定WAV格式
      );
    }
  }

  Future<String?> stopRecording() async {
    return await _record.stop();
  }
}
  1. 使用示例
final recorder = AudioRecorder();

// 开始录音
await recorder.startRecording();

// 停止录音
final path = await recorder.stopRecording();
print('录音文件路径: $path');

说明:

  • 需要动态申请录音权限(可使用permission_handler库)
  • 文件路径建议使用path_provider获取应用目录
  • WAV格式文件较大,适合需要高质量音频的场景

这是最简洁的WAV录音实现方案,实际使用时请添加错误处理和状态管理。

回到顶部