我正在使用AudioRecorder Class在Android上进行录音应用,并使用不同的采样率44100,32000,24000,16000和8000.采样率44100提供了高质量的音频,但它需要非常大的尺寸,但其他采样率给出具有可接受文件大小的质量差且质量差的音频。
在您说可能重复的问题之前,我已经看到以下链接:
但引用的链接与问题不同。
我的问题是如何以32000,24000和8000的采样率获得小文件大小的优质音频?
或者有没有办法将wav文件从大尺寸压缩到小尺寸?
我的代码示例:
tempbufferSize = AudioRecord.getMinBufferSize(16000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);
........
mAudioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT,tempbufferSize);
mAudioRecord.startRecording();
.....
我已提到Link.
请帮帮我。
答案 0 :(得分:0)
您确实意识到,当您提高采样率时,您每秒可获得更多样本,并且有效地增加了文件的大小。方法是更高质量,更多数据。
一些压缩参考:
http://www.eetimes.com/design/analog-design/4017792/Audio-Compression-Algorithm-Overview
http://jspeex.sourceforge.net/index.php
http://flac.sourceforge.net/license.html< - BSD license / lossless
http://jflac.sourceforge.net/<< Apache许可证/无损
答案 1 :(得分:0)
WAV是纯粹的未压缩音频数据,因此在不牺牲质量的情况下,文件大小会非常大。您可以使用MediaRecorder和setOutputFormat()
录制到MPEG4看看:
希望有所帮助