【发布时间】:2014-08-06 07:44:48
【问题描述】:
我尝试在 MediaRecorder 中使用 AMR_NB 编码器和 3gp 输出格式,但文件大小相当低(60 秒音频为 104KB)。但是对于我的应用程序(低带宽不可靠网络上的音频聊天,尤其是对于第三世界),我需要更小的音频大小。
我尝试使用以下选项以及 AMR_NB 编码器、3gp 输出格式和 setAudioChannels(1) -
一个。 setAudioSamplingRate(8000) 和 setAudioEncodingBitRate(4750)
b. setAudioSamplingRate(4000) 和 setAudioEncodingBitRate(4000)
c。 setAudioSamplingRate(2000) 和 setAudioEncodingBitRate(2000)
但是,无论是否使用上述任何选项,音频文件大小都保持不变。
我的问题如下-
1.为什么没有任何选项对文件大小有任何影响?
2。我应该怎么做才能减小文件大小(当然要牺牲音质)?
作为比较,Facebook Messenger 将 90KB 的 60 秒音频录制为 .mp4 文件。
recorder = new MediaRecorder();
recorder.setAudioChannels(1);
recorder.setAudioSamplingRate(8000);
recorder.setAudioEncodingBitRate(4750);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
【问题讨论】:
标签: android audio audio-recording mediarecorder bitrate