Search in sources :

Example 6 with Mp3File

use of com.frostwire.mp3.Mp3File in project frostwire by frostwire.

the class SoundcloudDownload method setAlbumArt.

private boolean setAlbumArt(String mp3Filename, String mp3outputFilename) {
    try {
        byte[] imageBytes = HttpClientFactory.getInstance(HttpClientFactory.HttpContext.DOWNLOAD).getBytes(sr.getThumbnailUrl());
        Mp3File mp3 = new Mp3File(mp3Filename);
        ID3Wrapper newId3Wrapper = new ID3Wrapper(new ID3v1Tag(), new ID3v23Tag());
        newId3Wrapper.setAlbum(sr.getUsername() + ": " + sr.getDisplayName() + " via SoundCloud.com");
        newId3Wrapper.setArtist(sr.getUsername());
        newId3Wrapper.setTitle(sr.getDisplayName());
        newId3Wrapper.setAlbumImage(imageBytes, "image/jpg");
        newId3Wrapper.setUrl(sr.getDetailsUrl());
        newId3Wrapper.getId3v2Tag().setPadding(true);
        mp3.setId3v1Tag(newId3Wrapper.getId3v1Tag());
        mp3.setId3v2Tag(newId3Wrapper.getId3v2Tag());
        mp3.save(mp3outputFilename);
        return true;
    } catch (Throwable e) {
        return false;
    }
}
Also used : Mp3File(com.frostwire.mp3.Mp3File) ID3Wrapper(com.frostwire.mp3.ID3Wrapper) ID3v1Tag(com.frostwire.mp3.ID3v1Tag) ID3v23Tag(com.frostwire.mp3.ID3v23Tag)

Aggregations

MP3File (org.jaudiotagger.audio.mp3.MP3File)4 ID3Wrapper (com.frostwire.mp3.ID3Wrapper)2 ID3v1Tag (com.frostwire.mp3.ID3v1Tag)2 ID3v23Tag (com.frostwire.mp3.ID3v23Tag)2 Mp3File (com.frostwire.mp3.Mp3File)2 File (java.io.File)2 IOException (java.io.IOException)2 CannotReadException (org.jaudiotagger.audio.exceptions.CannotReadException)2 CannotWriteException (org.jaudiotagger.audio.exceptions.CannotWriteException)2 AbstractID3v2Tag (org.jaudiotagger.tag.id3.AbstractID3v2Tag)2 BufferedImage (java.awt.image.BufferedImage)1 RandomAccessFile (java.io.RandomAccessFile)1 AudioFile (org.jaudiotagger.audio.AudioFile)1 InvalidAudioFrameException (org.jaudiotagger.audio.exceptions.InvalidAudioFrameException)1 ModifyVetoException (org.jaudiotagger.audio.exceptions.ModifyVetoException)1 ReadOnlyFileException (org.jaudiotagger.audio.exceptions.ReadOnlyFileException)1 FieldDataInvalidException (org.jaudiotagger.tag.FieldDataInvalidException)1 TagException (org.jaudiotagger.tag.TagException)1 Artwork (org.jaudiotagger.tag.images.Artwork)1