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

标签 android audio wav pcm audiorecord

我正在尝试使用 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/

相关文章:

Android Wear 2.0 支持表盘应用

java - 位于 Fragment 中的 WebView 中没有出现 ProgressBar,如何在 Android WebView 中显示 ProgressBar?

matlab - 我将如何对 .wav 文件进行下采样,然后使用 nyquist 重建它? - 在 MATLAB 中

java - 在Android上混合声音文件

android - 在 Android 中使用 AudioTrack 播放 WAV 文件

android - 自定义 android 启动器在按下后退按钮时返回到默认启动器

android - 如何将架构组件与 MediaBrowserService 一起使用?

ajax - 为什么我的音频文件无法在Firefox中播放?

java - 使用 Java (Swing) 在 JPanel/JFrame 中播放 .wav 声音文件

android - 如何从 adb 设置 android 6.0 模拟位置应用程序