誰能告訴我如何從一個音頻文件(.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中存儲MySQL字節數組
- 8. 如何在Java中存儲音頻
- 9. 節點:如何存儲JSON數組在谷歌數據存儲
- 10. 如何將字節數組或二進制數據轉換爲音頻文件
- 11. 如何在Objective-C中從字節數組創建音頻?
- 12. 將8字節值的每個字節存儲在數組中
- 13. 在java中將音頻轉換爲字節數組後實際存儲了什麼?
- 14. 將多組數字存儲到字節數組中
- 15. 如何存儲多個字節數組
- 16. 如何將Java字節數組轉換爲Scala字節數組?
- 17. C#:將字節數組存儲爲XML
- 18. 將音頻文件存儲在數據庫中
- 19. 在Java中,如何在數組中存儲大數字?
- 20. 字節數組音頻連接Android
- 21. 音頻輸入捕捉 - 字節數組
- 22. 將音頻採樣字節數組更改爲頻率
- 23. 在HTML5 sqlite數據庫中存儲字節數組
- 24. 我必須在sqlite數據庫中存儲字節數組
- 25. 存儲圖像,音頻文件到Java數據庫與Java
- 26. 存儲字頻數據
- 27. 將wav音頻格式字節數組轉換爲浮點數
- 28. 將localStorage數據存儲在數組中
- 29. 將mysql數據存儲在數組中
- 30. 將mysql數據存儲在數組中
使用[FileInputStream](http://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html)。 – Vulcan