从字节数组中提取 WAV 文件

Extract WAV file from Bytes Array

发送 REST 请求后,服务器返回一个非常长的字符串,如下所示:

RIFF\nt WAVEfmt ...(a lot of extra characters)

这应该是一个 .wav 文件。 从那里我使用 Java:

得到一个字节数组

byte[] audio = restResponse.getResponseBody().getBytes();

其中 returns 是这样的:

[82, 73, 70, 70, 10, 116, 32, 0, 87, 65, 86, 69, 102, 109, 116, 32, 18...

之后我将该数组写入文件:

FileUtils.writeByteArrayToFile(new File("C:/Users/user/Desktop/temp.wav"), audio);

问题是,我尝试了 2-3 个音频播放器 + 将原始数据导入 Audacity(尝试了不同的频率、频道...),但我听到的都是静态的。

正如 VGR 所说(非常感谢!),问题在于 Rest 客户端将字节转换为字符串的方式。

通过使用 Apache 的 HttpClient,我能够正确获取响应字节。

byte[] response = method.getResponseBody();

FileUtils.writeByteArrayToFile(new File("C:/Users/user/Desktop/temp.wav"), response);