【问题标题】:How can I handle audio files?如何处理音频文件?
【发布时间】:2026-01-26 01:20:11
【问题描述】:

什么是最好的选择:

  1. 从麦克风录制音频,
  2. 将音频作为文件存储在内存中,
  3. 能够播放这些文件吗?

有没有一种方便录音和播放的包?它是否适用于所有平台(网络兼容)?将它们存储在内存中的最佳策略是什么?

【问题讨论】:

标签: flutter dart audio storage


【解决方案1】:

这是一个你可以使用的包audio_recorder

  • 这里的记录和存储部分是示例示例(阅读包文档)

     // Import package
     import 'package:audio_recorder/audio_recorder.dart';
    
     // Check permissions before starting
     bool hasPermissions = await AudioRecorder.hasPermissions;
    
     // Get the state of the recorder
     bool isRecording = await AudioRecorder.isRecording;
    
     // Start recording
     await AudioRecorder.start(path: _controller.text, audioOutputFormat: AudioOutputFormat.AAC);
    
     // Stop recording
     Recording recording = await AudioRecorder.stop();
     print("Path : ${recording.path},  Format : ${recording.audioOutputFormat},  Duration : ${recording.duration},  Extension : ${recording.extension},");
    
  • 播放音频你需要另一个包我建议audioplayers

    // To pause 
    int result = await audioPlayer.pause();
    
    //To Stop 
    int result = await audioPlayer.stop();
    
    // To Jump through
    int result = await audioPlayer.seek(Duration(milliseconds: 1200));
    
    // To Resume 
    int result = await audioPlayer.resume(); 
    

【讨论】: