我想在Android應用程序中將歌詞寫入mp3。我發現了一個用於讀取mp3
文件並閱讀/操作ID3標籤(ID3v1和ID3v2.2到ID3v2.4)的Java庫, ,名爲mp3agic。在MP3中設置歌詞ID3v2標籤
我修改mp3agic
來編寫ID3v2標籤的歌詞標籤,寫入標籤:USLT
。發現於Wikipedia
在示例Android應用程序中,我修改了MP3的藝術家,專輯,標題,流派,歌詞和評論。除歌詞外,所有標籤都被修改正確。 PowerAMP
用於驗證修改後的MP3
文件,PowerAMP
無法在MP3中找到歌詞。
如果任何人都熟悉這裏這個庫是從AbstractID3v2Tag.java我修改後的代碼:
//define lyric tag for id3v2
public static final String ID_TEXT_LYRICS = "USLT";
//get the lyrics from the tag
public String getLyrics() {
ID3v2TextFrameData frameData;
if (obseleteFormat) return null;
else frameData = extractTextFrameData(ID_TEXT_LYRICS);
if (frameData != null && frameData.getText() != null)
return frameData.getText().toString();
return null;
}
//set the lyrics in the tag
public void setLyrics(String lyrics) {
if (lyrics != null && lyrics.length() > 0) {
invalidateDataLength();
ID3v2TextFrameData frameData = new ID3v2TextFrameData(useFrameUnsynchronisation(), new EncodedText(lyrics));
addFrame(createFrame(ID_TEXT_LYRICS, frameData.toBytes()), true);
}
}
我設置的MP3
歌詞與Windows中的一個程序,並與我的應用程序和getLyrics()
閱讀USLT
標籤返回字符串eng
。 PowerAMP
確實發現了這些由Windows程序設置的歌詞。
我已經搜索並找到許多指向MP3 ID3標籤修飾符庫的帖子,那就是我找到mp3agic的地方。哪一個是我可以輕易修改以結合歌詞變化的唯一庫。
我找到的一個庫是MyID3_for_Android,它沒有修改歌詞的方法。
我在尋找指導。
你的建議是現貨。 – JMooney 2013-01-24 02:54:29
這實際上有用!謝謝邁克爾:D – 2015-10-17 09:21:02