从字节数组中提取 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);
发送 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);