コード例 #1
0
  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;
    }
  }
コード例 #2
0
  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);
  }