flutter - 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 的一个分支;
解决方案
看起来有一个 rmbones 的 Flutter_Audio_Recorder 的分支,它记录了一个正确编码的 M4A 文件。
https://github.com/hnvn/flutter_audio_recorder
一些依赖项已经过时了,所以我最终用更新的 pubspec.yaml 分叉了 hnvn 的分叉;
https://github.com/meghead/flutter_audio_recorder
生成的短文件是令人印象深刻的 8.2k 大小。
https://speaktestbucket.s3.us-east-2.amazonaws.com/290-628.m4a
推荐阅读
- sql - 如果基于此脚本设置回滚事务,脚本是否会获取光标中的下一项?
- css - 为什么 Devextreme 网格溢出它的父容器,为什么它没有创建垂直滚动条?
- excel - excel验证自定义函数
- amazon-web-services - 使用 c4.4xlarge 实例(5GB 数据)在 AWS 上出现内存错误和死内核
- python - 用 keras、tensorflow 和 python 编写这种奇特的神经网络架构
- ansible - 无法在 jinja2 语法中的大括号内添加大括号
- batch-file - Kodi - 通过运行 .bat / VBScript 打开 .strm 文件
- php - 如何在 PHP 中转义 mime_content_type 的绝对路径
- javascript - :nth-child(2) 不起作用。:nth-child(1) 和 :nth-child(3) 做
- android - 在应用程序首次加载时尝试创建 JSON 文件时出现创建失败错误