微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter Audio Recorder Plugin 将 M4A 录制为 WAV 文件

如何解决Flutter Audio Recorder Plugin 将 M4A 录制为 WAV 文件

在尝试使用 FFMPEG 提取一段音频时,我发现我认为是由 Flutter Audio Recorder 录制的 .M4A 文件实际上被录制为 WAV 文件。这是 FFMPEG 报告的内容

  Guessed Channel Layout for Input Stream #0.0 : mono
  Input #0,wav,from 'myaudio.m4a':
  Duration: 00:00:04.02,bitrate: 705 kb/s
  Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001),44100 Hz,mono,s16,705 kb/s 

我猜这是因为我已将 Flutter Audio recorder 中的采样率从认的 16K 提高到 44K,以实现更高的质量。

  _recorder = FlutterAudioRecorder(customPath,audioFormat: AudioFormat.AAC,sampleRate: 44100);

那么 44K 提升是否意味着我失去了 AAC 压缩及其更小的文件大小的优势?

以下是 Flutter Audio Recorder 录制的 M4A 文件示例;

https://speaktestbucket.s3.us-east-2.amazonaws.com/63-talk-87.m4a

这是我正在使用的实际 Flutter Audio Recorder 插件

https://github.com/meghead/flutter_audio_recorder2

哪个是分叉的;

https://github.com/hanyska/flutter_audio_recorder2

它本身是原始 Flutter Audio Recorder 的一个分支;

https://github.com/rmbrone/flutter_audio_recorder

解决方法

看起来像是 rmbones 的 Flutter_Audio_Recorder 的一个分支,它记录了正确编码的 M4A 文件。

https://github.com/hnvn/flutter_audio_recorder

某些依赖项已过时,因此我最终使用更新的 pubspec.yaml 对 hnvn 的 fork 进行了分叉;

https://github.com/meghead/flutter_audio_recorder

生成的短文件大小达到了令人印象深刻的 8.2k。

https://speaktestbucket.s3.us-east-2.amazonaws.com/290-628.m4a

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。