如何在Java中将字节数组转换为AudioInputStream
我希望将字节数组转换为AudioInputStream。字节数组以前是从*.wav文件填充的。我有以下代码:
public static AudioInputStream writeBytesBackToStream(byte[] bytes) {
ByteArrayInputStream baiut = new ByteArrayInputStream(bytes);
AudioInputStream stream = null;
try {
stream = AudioSystem.getAudioInputStream(baiut);
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if(stream.equals(null) || stream == null) {
System.out.println("WARNING: Stream read by byte array is null!");
}
return stream;
}
现在我只想将此字节数组转换为AudioInputStream,但引发了UnsupportedAudioFileException:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
有没有人有主意?
wav
如果正确读取wav文件,字节数组将只包含原始推荐答案数据。因此,AudioSystem无法识别流的格式,并引发异常。
这在设计上是不可行的。您需要在流中提供完整的音频格式图像,才能使AudioSystem识别流的格式,而不仅仅是原始数据。
相关文章