2016-04-10 12 views
1

Uygulamada, müzik dosyalarının etiketlerini düzenlemeye çalışıyorum. Bu yerine f.commit() ait AudioFileIO.write(f) denedi kodAndroid: JAudioTagger etiketlerinde değişiklik yapılmadı

TagOptionSingleton.getInstance().setAndroid(true); 
AudioFile f = AudioFileIO.read(sel); 
Tag tag = f.getTag(); 
tag.setField(FieldKey.TITLE, "ABC"); 
f.commit(); 

ama yaptığınız değişiklikler dosyalarında yansıtılmaz. Hala aynı eski verilere sahipler.

Bazı JAudioTagger sürümlerini denedim, ancak şans yok. Birisi bana yardım edebilir. Şimdiden teşekkürler !! Bildiğim

cevap

1

biraz geç ama benim için şu işleri (ı diğer etiketler

 public String getmp3TrackTitleTag(File SourceFile) 
     throws Exception { 
    String TrackTitle = null; 
    try { 
     MP3File musicFile = (MP3File) AudioFileIO.read(SourceFile); 
     if (musicFile != null && musicFile.hasID3v2Tag()) { 
      ID3v24Tag id3v24 = (ID3v24Tag) musicFile.getID3v2TagAsv24(); 
      TrackTitle = id3v24.getFirst(ID3v24Frames.FRAME_ID_TITLE); 
     } 
    } catch (CannotReadException | IOException | TagException 
      | ReadOnlyFileException | InvalidAudioFrameException e5) { 
     throw e5; 
    } 
    return TrackTitle; 
} 

ve ben geri döndürülür var

 public String setmp3TrackTitleTag(File SourceFile, String strTrackTitle) 
     throws Exception { 
    String error = null; 
    AbstractID3v2Tag v2tag = null; 

    try { 
     MP3File musicFile = (MP3File) AudioFileIO.read(SourceFile); 
     if (musicFile != null && musicFile.hasID3v2Tag()) { 
      v2tag = musicFile.getID3v2Tag(); 
      try { 
       v2tag.setField(FieldKey.TITLE, strTrackTitle); 
       musicFile.setTag(v2tag); 
       musicFile.commit(); 
      } catch (KeyNotFoundException e) { 
       e.printStackTrace(); 
       error = e.getMessage(); 
      } catch (FieldDataInvalidException e) { 
       e.printStackTrace(); 
       error = e.getMessage(); 
      } catch (CannotWriteException e) { 
       e.printStackTrace(); 
       error = e.getMessage(); 
      } 
     } 
    } catch (CannotReadException | IOException | TagException 
      | ReadOnlyFileException | InvalidAudioFrameException e5) { 

     throw e5; 
    } 
    return error; 
} 
+0

Başlığı belirlemek için aynı çerçeve kullanmak mp3 dosyaları için ID3 kütüphanesini kullanarak jaudiotagger gerçekten bu dosyalar için android üzerinde çalışmamaktadır .. Bazı io dosyalarındaki hatalar eksiktir.Github'daki sorunlar listesini okumak bu sorunun olduğunu onaylar.Şaşırtıcı bir şekilde flac ve m4a etiketlerinin düzgün çalışması – Theo

İlgili konular