【问题标题】:Android - Recorded audio file differs size when changing deviceAndroid - 更换设备时录制的音频文件大小不同
【发布时间】:2014-07-28 04:30:54
【问题描述】:

我正在尝试在 Android 中录制音频文件,我正在设置输出文件的比特率和采样率,一切正常,但每当我在不同的设备中录制任何内容时,文件大小都会有很大差异。

我用 Z2 和 Moto G 进行了一些测试,改变比特率和采样率,在相同的录制时间获得非常不同的文件大小。我注意到该文件最依赖于比特率而不是采样率。

问题是我希望并且实际上需要文件尽可能少,但即使使用 Moto G 我从 38 - 254KB 获取文件,Z2 上相同配置的文件大小为 437 - 653KB。

我不知道如何在 Z2(和任何其他设备)上获取与 Moto G 几乎相同大小的文件,非常感谢任何帮助。

对不起我的英语,这不是我的自然语言。

PD: 使用 MediaInfo,我发现文件的唯一区别是“整体比特率”。将比特率设置为 16000 时,MediaInfo 上的 Moto G 文件显示为 19.4Kbps,Z2 文件显示为 226Kbps,但两者均显示“比特率”=16.8Kbps。

【问题讨论】:

  • 您使用的是哪种编解码器?
  • 我正在使用 AAC 和 MP4。

标签: android audio mediarecorder bitrate mediainfo


【解决方案1】:

不同设备上大小不同的原因可以由两个因素来解释,音频分辨率(麦克风质量)和比特率类型,如果您有一个非常好的麦克风来捕捉高音频频率,那么您将需要压缩更复杂的音频,但是,如果您有一个低质量的麦克风,只能使用中频录制音频,您的音频将缺乏细节并且更易于压缩。另一个事实是比特率,VBR vs CBR,如果你使用可变比特率并且编码的音频没有很多细节,它会降低比特率,但如果突然你有钹的声音,例如,音频中的细节更高,并且需要更高的比特率进行编码,另一方面,如果您使用恒定比特率对音频进行编码,您的输出将始终相同......假设您使用 128Kbps 录制 1 分钟的音频(几乎可以肯定你不需要更多)你将有 60s * 128Kbps = 7680Kbs... 7680Kbs / 8B = 960KB 每分钟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2011-11-18
    相关资源
    最近更新 更多