讀取、複寫MP3 Tag
Last updated
Last updated
別人寫成的套件:(https://github.com/mpatric/mp3agic/blob/master/src/main/java/com/mpatric/mp3agic/Mp3File.java)
範例做法: C#(https://dotblogs.com.tw/yc421206/archive/2009/08/14/10048.aspx)
參考資料:(https://stackoverflow.com/questions/1645803/how-to-read-mp3-file-tags)
Field
MP3檔案會預留最後128個Byte用來當記錄、詳細資料,位置如上表格。
裡面的編碼是BIG5,當在讀取的時候要選對編碼,當然 最後輸出檔案的時候,也要選對編碼。
在做複寫動作的時候,要記得把原先的資料清空。
因為整條byte拿去轉BIG5,會有字元遺失,所以要先分段切割。Arrays.copyOfRange(Byte[],startIndex,endIndex)
因為Windows系統是用BIG5,所以轉換回來。
參考資料:(https://stackoverflow.com/questions/18571223/how-to-convert-java-string-into-byte)
參考資料:(https://www.journaldev.com/861/java-copy-file)
因為要修改整個檔案的最後128 byte,我參考複製檔案的方式,將前面複製完後,後面128 Byte另外處理。
Length
Offsets
Tag
3
0-2
Songname
30
3-32
Artist
30
33-62
Album
30
63-92
Year
4
93-96
Comment
30
97-126
Genre
1
127