private boolean setAlbumArt( byte[] imageBytes, String mp3Filename, String mp3outputFilename, String username, String title, String detailsUrl) { try { AudioFile f = AudioFileIO.read(new File(mp3Filename)); Tag tag = f.getTagOrCreateAndSetDefault(); tag.setField(FieldKey.ALBUM, username + ": " + title + " via SoundCloud.com"); tag.setField(FieldKey.ARTIST, username); tag.setField(FieldKey.TITLE, title); tag.setField(FieldKey.URL_OFFICIAL_RELEASE_SITE, detailsUrl); Artwork artwork = ArtworkFactory.getNew(); artwork.setBinaryData(imageBytes); artwork.setMimeType("image/jpg"); tag.addField(artwork); f.commit(); return true; } catch (Throwable e) { return false; } }
public void testWriteToRelativeMp3File() { File orig = new File("testdata", "testV1.mp3"); if (!orig.isFile()) { System.err.println("Unable to test file - not available"); return; } File testFile = null; Exception exceptionCaught = null; try { testFile = AbstractTestCase.copyAudioToTmp("testV1.mp3"); // Copy up a level coz we need it to be in same folder as working directory so can just // specify filename File outputFile = new File(testFile.getName()); boolean result = copy(testFile, outputFile); assertTrue(result); // make Relative assertTrue(outputFile.exists()); // Read File okay AudioFile af = AudioFileIO.read(outputFile); // Create tag and Change File af.getTagOrCreateAndSetDefault(); af.getTag().setField(ArtworkFactory.createArtworkFromFile(new File("testdata/coverart.jpg"))); af.commit(); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; } assertNull(exceptionCaught); }