誰能告訴我如何從一個音頻文件(.AU)讀取存儲音頻數據轉換爲字節數組?我查看了Oracle上的Java文檔,但是我不知道如何使用這些信息來編寫程序。Java如何將音頻數據存儲在字節數組中。
回答
我被「音頻數據」猜你想從AU文件中的音頻樣本不包括報頭信息和元數據。如果您只是想將文件的內容加載到內存中,請按照建議使用FileInputStream。
否則,讀取樣本時,可以使用AudioSystem和。
File myFile = new File("test.au");
byte[] samples;
AudioInputStream is = AudioSystem.getAudioInputStream(myFile);
DataInputStream dis = new DataInputStream(is); //So we can use readFully()
try
{
AudioFormat format = is.getFormat();
samples = new byte[(int)(is.getFrameLength() * format.getFrameSize())];
dis.readFully(samples);
}
finally
{
dis.close();
}
你好,我一直在使用上面的代碼嘗試,但我一直「在線程異常‘主讓’java.io.FileNotFoundException:auSample.au(系統找不到指定的文件),」雖然我在正確的文件夾中的音頻文件。是否需要對代碼進行這些更改,或者僅僅是我錯誤地鏈接了文件。 – Estra
嘗試在文件名中使用絕對路徑。此外,如果文件名是字符串文字,則需要在文件名中轉義任何反斜槓。例如'新的文件(「C:\\ \\溫度sample.au」);' – prunge
你好,我曾嘗試絕對路徑,但它並沒有出於某種原因。我用過ClassLoader.getResource();現在它工作。謝謝您的幫助 – Estra
- 1. Java - 將音頻的字節數組轉換爲整數數組
- 2. JAVA,將.mpg視頻文件幀存儲到字節數組中
- 3. 在Android上的8位字節數組上存儲16Bit音頻
- 4. 將數據存儲在數組中(Java)
- 5. 如何將'wav'音頻文件存儲在mysql數據庫中?
- 6. 音頻元數據存儲
- 7. 如何在Java中存儲音頻
- 8. 從Java中存儲MySQL字節數組
- 9. 節點:如何存儲JSON數組在谷歌數據存儲
- 10. Java-如何將數據臨時存儲在數組列表中
- 11. 如何在數組列表android中存儲字節數組?
- 12. 如何在Android中將音頻/視頻文件存儲到SQLite數據庫?
- 13. 如何將字節數組或二進制數據轉換爲音頻文件
- 14. 將8字節值的每個字節存儲在數組中
- 15. 如何將音頻文件轉換爲字節數組
- 16. 在java中將音頻轉換爲字節數組後實際存儲了什麼?
- 17. 將多組數字存儲到字節數組中
- 18. 如何將.mp4視頻轉換爲Java中的字節數組?
- 19. 如何存儲多個字節數組
- 20. 如何將字符串值存儲在Java數組中的字符數組?
- 21. 如何將Java字節數組轉換爲Scala字節數組?
- 22. 將音頻文件存儲在數據庫中
- 23. C#在字節數組中存儲int
- 24. 在Java中,如何在數組中存儲大數字?
- 25. C#:將字節數組存儲爲XML
- 26. 字節數組音頻連接Android
- 27. 音頻輸入捕捉 - 字節數組
- 28. BigInteger如何在Java中將字節數組轉換爲數字?
- 29. 將音頻採樣字節數組更改爲頻率
- 30. 如何將數據存儲爲本地存儲中的數組?
使用[FileInputStream](http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html)。 – Vulcan