Legt die Songtexte im MP3 ID3v2-Tag fest

Ich möchte Texte in eine MP3-Datei in einer Android-Anwendung schreiben. Ich habe eine Java-Bibliothek zum Lesen gefundenmp3 Dateien und Lesen / Bearbeiten der ID3-Tags (ID3v1 und ID3v2.2 bis ID3v2.4), benanntmp3agic.

ich verändertemp3agic So schreiben Sie das lyrische Tag des ID3v2-Tags:USLT. Gefunden inWikipedia

In einer Beispiel-Android-App ändere ich den Interpreten, das Album, den Titel, das Genre, den Text und den Kommentar einer MP3. Alle Tags mit Ausnahme der Texte werden korrekt geändert.PowerAMP wird verwendet, um die geänderte zu überprüfenMP3 Datei undPowerAMP kann die Texte nicht im MP3 finden.

Wenn jemand mit dieser Bibliothek vertraut ist, ist hier mein modifizierter Code von 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);
    }
}

Ich habe die Texte auf einen gesetztMP3 mit einem Programm in Windows und lesen Sie dieUSLT tagge mit meiner App undgetLyrics() hat die Zeichenfolge zurückgegebeneng. PowerAMP fand diese Texte vom Windows-Programm eingestellt.

Ich habe viele Posts gesucht und gefunden, die auf MP3 ID3-Tag-Modifikator-Bibliotheken verweisen. Dort habe ich mp3agic gefunden. Welches ist die einzige Bibliothek, die ich leicht ändern könnte, um das Ändern von Texten aufzunehmen.

Eine Bibliothek, die ich gefunden habe, warMyID3_for_Android die hatte keine Methode, um Texte zu ändern.

Ich suche eine Anleitung dazu.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage