【发布时间】:2013-06-08 06:16:12
【问题描述】:
我想将字节数组转换为 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
有人有想法吗?
【问题讨论】:
-
使用this确认它支持wav文件,并测试将wav文件传递给getAudioInputStream...这样你就可以检查问题是字节数组还是文件本身跨度>
-
你能发布 wav 文件加载代码来检查你的字节数组是否正确吗?
-
我相信 Durandel 的回答是正确的,但阅读此入门书可能会有所帮助:blog.bjornroche.com/2013/05/…