Mp3File song = new Mp3File(filename); if (song.hasId3v2Tag()){ ID3v2 id3v2tag = song.getId3v2Tag(); byte[] imageData = id3v2tag.getAlbumImage(); //converting the bytes to an image BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageData)); }
Mp3File song = new Mp3File(filename); if (song.hasId3v2Tag()){ ID3v2 id3v2tag = song.getId3v2Tag(); byte[] imageData = id3v2tag.getAlbumImage(); //converting the bytes to an image BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageData)); }
protected ID3Wrapper createId3Wrapper(String filename) throws IOException, UnsupportedTagException, InvalidDataException { Mp3File mp3file = new Mp3File(filename, false); ID3Wrapper id3Wrapper = new ID3Wrapper(mp3file.getId3v1Tag(), mp3file.getId3v2Tag()); return id3Wrapper; }
protected ID3Wrapper createId3Wrapper(String filename) throws IOException, UnsupportedTagException, InvalidDataException { Mp3File mp3file = new Mp3File(filename, false); ID3Wrapper id3Wrapper = new ID3Wrapper(mp3file.getId3v1Tag(), mp3file.getId3v2Tag()); return id3Wrapper; }
protected void extractPics() throws IOException { ID3v2 id3v2tag = mp3file.getId3v2Tag(); if (id3v2tag != null) { String mimeType = id3v2tag.getAlbumImageMimeType(); byte[] data = id3v2tag.getAlbumImage(); String filename = chooseFilename(mimeType); RandomAccessFile file = null; try { file = new RandomAccessFile(filename, "rw"); file.write(data); } finally { try { if (file != null) { printOut(" Extracted " + filename); file.close(); } } catch (IOException e) { // do nothing } } } }
Mp3File mp3file = new Mp3File("SomeMp3File.mp3"); System.out.println("Length of this mp3 in seconds is: " + mp3file.getLengthInSeconds()); if(mp3file.hasId3v2Tag()) { ID3v2 id3v2tag = mp3file.getId3v2Tag(); System.out.println("The artist in the ID3v2 tag is: " + id3v2tag.getArtist()); id3v2tag.setArtist("A new artist"); mp3file.save("ASavedMp3File.mp3"); System.out("Saved mp3 file with new name and artist set to 'A new artist'"); }
private String chooseFilename(String mimeType) { String extension; int idx; if ((idx = mimeType.indexOf('/')) > 0) extension = "." + mimeType.substring(idx + 1).toLowerCase(); else mimeType = extension = "." + mimeType.toLowerCase(); ID3Wrapper id3Wrapper = new ID3Wrapper(mp3file.getId3v1Tag(), mp3file.getId3v2Tag()); String path = FileUtils.extractPath(mp3file.getFilename()); String baseFilename = path + toCompressedString(id3Wrapper.getArtist()) + "-" + toCompressedString(id3Wrapper.getAlbum()); String filename; if (!fileExists(filename = baseFilename + extension)) return filename; int i = 1; while (true) { if (!fileExists(filename = baseFilename + Integer.toString(i) + extension)) return filename; i++; } }
Mp3File mp3file = new Mp3File("example.mp3"); ID3v2 id3v2Tag; if (mp3file.hasId3v2Tag()) { id3v2Tag = mp3file.getId3v2Tag(); } else { id3v2Tag = new ID3v24Tag(); mp3file.setId3v2Tag(id3v2Tag); } id3v2Tag.clearAlbumImage(); mp3file.save("example.mp3");
boolean hasId3v2Tag = mp3file.hasId3v2Tag(); boolean hasImage = false; if (hasId3v2Tag && mp3file.getId3v2Tag().getAlbumImage() != null) hasImage = true; if (! hasId3v1Tag && ! hasId3v2Tag) { printError("ERROR processing \"" + FileUtils.extractFilename(filename) + "\" - no ID3 tags found"); if (! hasId3v1Tag) message.append(", added ID3v1 tag"); if (! hasId3v2Tag) message.append(", added ID3v2 tag"); if (! hasImage && mp3file.getId3v2Tag().getAlbumImage() != null) { message.append(", added album image");
ID3v2 id3v2Tag = mp3file.getId3v2Tag(); System.out.println("Track: " + id3v2Tag.getTrack()); System.out.println("Artist: " + id3v2Tag.getArtist()); ID3v2 id3v2Tag = mp3file.getId3v2Tag(); byte[] imageData = id3v2Tag.getAlbumImage(); if (imageData != null) { id3v2Tag = mp3file.getId3v2Tag(); } else { id3v2Tag = new ID3v24Tag();
private void showId3v2Fields(StringBuffer buffer) { ID3v2 id3v2tag = mp3file.getId3v2Tag(); if (id3v2tag == null || !id3v2tag.getObseleteFormat()) { buffer.append("ID3v2 Data\n"); } else { buffer.append("ID3v2 Data (Obselete 3-character format)\n"); } if (id3v2tag == null) { buffer.append(" NONE!\n"); } else { showField(buffer, "Track", id3v2tag.getTrack()); showField(buffer, "Artist", id3v2tag.getArtist()); showField(buffer, "Album", id3v2tag.getAlbum()); showField(buffer, "Title", id3v2tag.getTitle()); showField(buffer, "Year", id3v2tag.getYear()); showField(buffer, "Genre", id3v2tag.getGenreDescription()); showField(buffer, "Comment", id3v2tag.getComment()); showField(buffer, "Composet", id3v2tag.getComposer()); showField(buffer, "Original Artist", id3v2tag.getOriginalArtist()); showField(buffer, "Copyright", id3v2tag.getCopyright()); showField(buffer, "Url", id3v2tag.getUrl()); showField(buffer, "Encoder", id3v2tag.getEncoder()); showField(buffer, "Album Image", id3v2tag.getAlbumImageMimeType()); } }
private void catalogId3Fields(StringBuffer cat) { ID3v1 id3v1tag = mp3file.getId3v1Tag(); ID3v2 id3v2tag = mp3file.getId3v2Tag(); ID3Wrapper id3wrapper = new ID3Wrapper(id3v1tag, id3v2tag); if (id3v1tag != null) catalogField(cat, "1." + id3v1tag.getVersion()); else catalogField(cat, null); if (id3v2tag != null) catalogField(cat, "2." + id3v2tag.getVersion()); else catalogField(cat, null); catalogField(cat, id3wrapper.getTrack()); catalogField(cat, id3wrapper.getArtist()); catalogField(cat, id3wrapper.getAlbum()); catalogField(cat, id3wrapper.getTitle()); catalogField(cat, id3wrapper.getYear()); catalogField(cat, id3wrapper.getGenreDescription()); catalogField(cat, id3wrapper.getComment()); catalogField(cat, id3wrapper.getComposer()); catalogField(cat, id3wrapper.getOriginalArtist()); catalogField(cat, id3wrapper.getCopyright()); catalogField(cat, id3wrapper.getUrl()); catalogField(cat, id3wrapper.getEncoder()); catalogField(cat, id3wrapper.getAlbumImageMimeType()); }
private void updateId3Tags() { ID3Wrapper oldId3Wrapper = new ID3Wrapper(mp3file.getId3v1Tag(), mp3file.getId3v2Tag()); ID3Wrapper newId3Wrapper = new ID3Wrapper(new ID3v1Tag(), new ID3v23Tag()); preProcess(oldId3Wrapper);