Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-更改设备时录制的音频文件大小不同_Android_Audio_Mediarecorder_Bitrate_Mediainfo - Fatal编程技术网

Android-更改设备时录制的音频文件大小不同

Android-更改设备时录制的音频文件大小不同,android,audio,mediarecorder,bitrate,mediainfo,Android,Audio,Mediarecorder,Bitrate,Mediainfo,我试图在Android中录制音频文件,我正在设置输出文件的比特率和采样率,一切正常,但每当我在不同的设备中录制任何内容时,文件大小都会有很大差异 我用Z2和MOTOG做了一些测试,改变了比特率和采样率,在相同的记录时间内获得了非常不同的文件大小。我注意到文件最依赖于比特率而不是采样率 问题是,我期望并且实际上需要尽可能少的文件,但是,即使使用Moto G,我得到的文件是38-254KB,Z2上相同配置的文件大小也是437-653KB 我不知道该怎么做才能在Z2和任何其他与Moto G大小几乎相同

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

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

问题是,我期望并且实际上需要尽可能少的文件,但是,即使使用Moto G,我得到的文件是38-254KB,Z2上相同配置的文件大小也是437-653KB

我不知道该怎么做才能在Z2和任何其他与Moto G大小几乎相同的设备上获得文件,任何帮助都将不胜感激

对不起,我的英语不是我的母语

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

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

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