本文介紹了如何在Java中將字節(jié)數(shù)組轉(zhuǎn)換為AudioInputStream的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我希望將字節(jié)數(shù)組轉(zhuǎn)換為AudioInputStream。字節(jié)數(shù)組以前是從*.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;
}
現(xiàn)在我只想將此字節(jié)數(shù)組轉(zhuǎn)換為AudioInputStream,但引發(fā)了UnsupportedAudioFileException:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
有沒有人有主意?
wav
如果正確讀取wav文件,字節(jié)數(shù)組將只包含原始推薦答案數(shù)據(jù)。因此,AudioSystem無法識(shí)別流的格式,并引發(fā)異常。
這在設(shè)計(jì)上是不可行的。您需要在流中提供完整的音頻格式圖像,才能使AudioSystem識(shí)別流的格式,而不僅僅是原始數(shù)據(jù)。
這篇關(guān)于如何在Java中將字節(jié)數(shù)組轉(zhuǎn)換為AudioInputStream的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,