stackoverflow 上几乎没有类似的主题,但对我来说似乎都不够好。问题是我有这样一段代码:
// AudioInputStream in;
final int BUFFER_SIZE = 8192;
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
byte[] byteBuffer = new byte[BUFFER_SIZE];
int bytesRead = 0;
while ((bytesRead = in.read(byteBuffer, 0, BUFFER_SIZE)) != -1) {
byteStream.write(byteBuffer, 0, bytesRead);
}
byte[] audioData = byteStream.toByteArray();
此代码读取 mp3 文件的数据并将其保存到字节数组,但大约需要 10 秒。是否有可能在更短的时间内将整个 mp3 数据存储到缓冲区中?我试图避免传递缓冲区的大小或对其进行扩展,但这会导致其他问题(例如文件未正确读取)。
提前致谢