我正在尝试使用 AudioRecord 类来录制 WAV 文件。问题是它只提供原始 PCM 数据,如果我将它写入文件,没有标题信息,所以它不会在任何媒体播放器中播放。如何从这些原始数据创建 WAV 文件?
或者,有没有其他方法可以将 Android 中的声音录制到 WAV 文件(或 MP3)?
哦,我知道不能使用 MediaRecorder,因为它不支持 WAV 或 MP3 格式。
最佳答案
好的,我已经弄清楚了。这篇文章对帮助我至关重要: http://computermusicblog.com/blog/2008/08/29/reading-and-writing-wav-files-in-java
基本上,我使用 ByteArrayOutputStream 从 AudioRecord 写入原始 PCM 数据,然后在处理完成后让我获取字节数组及其大小。然后,我可以将这些数据与 SampleRate、BitRate 和 Stereo/Mono 设置结合使用,按照上面的链接创建 WAV header 。生成的文件完美运行!
关于android - 使用 Android SDK 从原始 PCM 数据创建 WAV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777181/