在開發 AudioTagFixer 時,使用了 Jaudiotagger 這個第三方函式庫。它主要是用來做音樂檔標籤的存取與修改,並且支援多種音樂檔與標籤格式。使用上很簡單,只要把 Jaudiotagger 的 JAR 加進你的專案,再參考它的程式範例來操作即可。
不過測試時卻發現一個怪問題,在 Android 2.1 以下的裝置運作時,取得的標籤前面都會多出 ��,當然存檔也就有問題。而在 Android 2.2 以上就一切正常,一開始搞不清楚為什麼,只好暫時把 App 的 minSdkVersion 設成 8,以避免出錯。
直到最近才發現似乎是某些 Android 的 Bug 所導致,而 Jaudiotagger 則提供了一個設定:
參考資料:
http://stackoverflow.com/questions/5447145/jaudiotagger-and-android-change-a-value-in-an-mp3
http://www.jthink.com/jaudiotagger/maven/apidocs/org/jaudiotagger/tag/TagOptionSingleton.html#setAndroid(boolean)
不過測試時卻發現一個怪問題,在 Android 2.1 以下的裝置運作時,取得的標籤前面都會多出 ��,當然存檔也就有問題。而在 Android 2.2 以上就一切正常,一開始搞不清楚為什麼,只好暫時把 App 的 minSdkVersion 設成 8,以避免出錯。
直到最近才發現似乎是某些 Android 的 Bug 所導致,而 Jaudiotagger 則提供了一個設定:
TagOptionSingleton.getInstance().setAndroid(true);只要加上這行,就能正確的在 Android 2.1 以下存取音樂檔標籤了。
參考資料:
http://stackoverflow.com/questions/5447145/jaudiotagger-and-android-change-a-value-in-an-mp3
http://www.jthink.com/jaudiotagger/maven/apidocs/org/jaudiotagger/tag/TagOptionSingleton.html#setAndroid(boolean)
留言
張貼留言