2009-09-17 39 views
3

我正在使用以下代碼將.wav文件讀入到字節數組中。Java - 從.wav中刪除頭文件

AudioInputStream inputStream = 
    AudioSystem.getAudioInputStream(/*my .wav file */); 
int numBytes = inputStream.available(); 
byte[] buffer = new byte[numBytes]; 
inputStream.read(buffer, 0, numBytes); 
inputStream.close(); 

是否有一種簡單的方法可以在讀入字節數組之前或之後刪除.wav頭文件?

回答

0

wav文件頭是固定大小嗎?如果是這樣inputStream.skip?

2

如果更正.wav標頭長度爲44個字節,那麼跳過/刪除前44個,然後就可以了。

雖然不知道。

3

來自AudioInputStream read()方法的數據已經是原始的wav數據。所以沒有必要擔心.wav頭文件。如果您確實想要訪問標題內容,則可以使用與此AudioInputStream關聯的AudioFormat對象。

http://download.oracle.com/javase/tutorial/sound/converters.html

BTW,除非你的.wav文件是非常小的,你不會有一個讀得到這一切爲你與你的樣品進行。您必須將您的讀取放在while循環中,如上面引用的教程中的第一個代碼片段所示。

+0

+1用於在此線程上添加唯一正確的答案,以及用於發現讀取的問題。 – 2011-06-20 09:41:29