gpt4 book ai didi

java - 仅将前几百个样本从输入流读入字节数组(其余为零)

转载 作者:行者123 更新时间:2023-12-01 09:19:29 25 4
gpt4 key购买 nike

我正在尝试将音频(mp3/wav 等)转换为字节数组。我使用 inputStream 到字节数组的转换来做到这一点。问题是,在几百个样本之后,我只收到零。起初我以为问题出在该文件上,所以我尝试使用另一个文件进行调试并遇到了同样的问题。我认为问题出在代码上,所以我尝试使用 IOUtils 并得到了完全相同的结果。

谁能告诉我我做错了什么?

我使用的代码:

File file = new File(path);
final InputStream inputStream = new FileInputStream(file);
byte[] byteSamples = inputStreamToByteArray(inputStream);

public byte[] inputStreamToByteArray(InputStream inStream) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[8192];
int bytesRead;
while ((bytesRead = inStream.read(buffer)) > 0) {
baos.write(buffer, 0, bytesRead);
}
return baos.toByteArray();
}

使用 IOUtils 的替代版本:

byte[] byteSamples = IOUtils.toByteArray(inputStream);

更新:我尝试使用 BufferedInputStream 进行操作,结果仍然完全相同。

byte[] byteSamples = new byte[(int)file.length()];
try {
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
buf.read(byteSamples, 0, byteSamples.length);
buf.close();
} catch (FileNotFoundException e) {
e.printStackTrace();}

最佳答案

完成后您需要关闭流。

关于java - 仅将前几百个样本从输入流读入字节数组(其余为零),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com