我在我的Java應用程序中使用JAudioTagger從一個mp3文件中檢索元數據。除了「註釋」之外,我能夠在ID3中檢索所有元數據,而不會出現任何問題。評論是我通過選擇曲目從iTunes添加的,點擊它並獲取信息。添加評論並保存。問題是可以打印出實際註釋之前,下面代碼中的註釋字段給了我一個大小爲4的0和1的數組,其中索引3是實際註釋,索引0到2是0和1的數組。這是我的代碼,以提取/打印註釋字段:Jaudiotagger getAll(FieldKey.COMMENT)產生一個0和1的數組
Tag tag = null;
file = /some/path/file-name.mp3
System.out.println("tag.getAll(FieldKey.COMMENT)-->" + tag.getAll(FieldKey.COMMENT)); // Check output 1 below
System.out.println("tag.getFirst ? "+tag.getFirst(FieldKey.COMMENT)); // output 2 below
這裏是各自的輸出:
// Output for System.out 1
[0,
00000368 000002C0 00003670 00003005 0001DC53 0001DC53 00008489 00008566 000378AC 00038CE0,
00000000 00000210 00000A8D 0000000000E16863 00000000
00A37EB2 00000000 00000000 00000000 00000000 00000000 00000000,
This is a comment ]
// Output for System.out 2
0
通知如何陣列在輸出#1於最後一個索引之前創建實際評論。在進一步的調查中,我發現指數0到2與ID3中的iTunSMPB
字段完全相同,無論這應該是什麼意思。如果文件沒有評論,那麼getAll(FieldKey.COMMENT)
將導致沒有評論大小3的相同陣列。
任何想法爲什麼多餘的0和1被附加。我不希望對索引3進行硬編碼以提取預期的評論。