使用Android SDK从原始PCM数据创建WAV文件

use*_*854 20 audio android wav pcm audiorecord

我正在尝试使用AudioRecord类来记录WAV文件.问题是它只提供原始PCM数据,如果我将其写入文件,则没有标题信息,因此它不会在任何媒体播放器中播放.如何从这些原始数据创建WAV文件?

或者,有没有其他方法将Android中的声音录制到WAV文件(或者MP3)?

哦,我知道MediaRecorder无法使用,因为它不支持WAV或MP3格式.

use*_*854 14

好的,我已经搞清楚了.这篇文章对我的帮助至关重要:http: //computermusicblog.com/blog/2008/08/29/reading-and-writing-wav-files-in-java

基本上,我使用ByteArrayOutputStream从AudioRecord写入原始PCM数据,然后让我在进程完成时获取字节数组及其大小.然后,我可以将该数据与SampleRate,BitRate和Stereo/Mono设置结合使用,以根据上面的链接创建WAV标头.生成的文件完美无缺!