5
我正在使用Java AudioInputStream讀取.wav音頻文件。音頻文件是16位PCM簽名的,samplerate = 44100,framesize = 2,framelength = 114048.我設法獲取音頻數據以字節數組的形式存在,但我不確定我應該給這個字節數組分配多少大小,以便我可以將它轉換爲浮點數。 我正在做一些使用Goertzel算法的音頻處理,它採用浮點數組的輸入,例如「float [] x」。以下是我正在使用的一些代碼片段。提前致謝。將wav音頻格式字節數組轉換爲浮點數
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(fileIn);
}
while (numBytesRead != -1) {
numBytesRead = audioInputStream.read(audioBytes);
// Logic goes here
floatValue = byteArrayToFloat(audioBytes);
}
我改正你的示例代碼假設AudioInputStream是小端?如果你不能依賴這個假設,是否可以安全地調用.getFormat()。isBigEndian(),如果它返回true,則傳入ByteOrder.BIG_ENDIAN? – rlkw1024 2013-01-09 20:14:16