我有一个存储IMA ADCPM数据的字节数组,从一个特殊的文件格式读取。我想知道怎样才能把它写成.WAV文件。速率/频率为32000 Hz,并且只有一个通道(单声道)。
我没有尝试过写音频文件,我也不知道怎么写。
谢谢!
发布于 2020-12-16 15:34:23
我可以告诉你如何写一个wav文件--这并不难。但我不认为它会像你预期的那样工作。
如果你刚打开文件作为一个byte[],并试图将其写入WAV,你只会得到许多可怕的噪音,而不是你所期望的声音。声音格式IMA是一种压缩的声音格式--你需要知道如何将流解压缩成“原始”声音。这个“原始”声音就是WAV文件。它只是一个标头,描述了原始数据所代表的内容--例如回放速度和每个样本的字节数。https://alvas.net/可以帮你处理这件事,省去了你的繁重工作。
但是,如果您真的想尝试编写自己的解码器,请查看此处:https://wiki.multimedia.cx/index.php?title=IMA_ADPCM
我找不到我用来创建WAV文件的原始资源(多年前),但这里有一个旧的博客,似乎包含了足够的信息。
https://m8051.blogspot.com/2010/08/wave-sound-file-in-pcm-format-long-lost.html
祝好运!
https://stackoverflow.com/questions/65316078
复制相似问题