public void testWriteFile() { Exception exceptionCaught = null; try { File testFile = AbstractTestCase.copyAudioToTmp("test1.wma", new File("testwrite1.wma")); AudioFile f = AudioFileIO.read(testFile); assertEquals("32", f.getAudioHeader().getBitRate()); assertEquals( "ASF (audio): 0x0161 (Windows Media Audio (ver 7,8,9))", f.getAudioHeader().getEncodingType()); assertEquals("2", f.getAudioHeader().getChannels()); assertEquals("32000", f.getAudioHeader().getSampleRate()); assertFalse(f.getAudioHeader().isVariableBitRate()); assertTrue(f.getTag() instanceof AsfTag); AsfTag tag = (AsfTag) f.getTag(); // Write some new values and save tag.setField(FieldKey.ARTIST, "artist2"); tag.setField(FieldKey.ALBUM, "album2"); tag.setField(FieldKey.TITLE, "tracktitle2"); tag.setField(FieldKey.COMMENT, "comments2"); tag.addField(FieldKey.YEAR, "1972"); tag.setField(FieldKey.GENRE, "genre2"); tag.setField(FieldKey.TRACK, "4"); tag.setCopyright("copyright"); tag.setRating("rating"); tag.setField(tag.createField(FieldKey.URL_LYRICS_SITE, "http://www.lyrics.fly.com")); tag.setField(tag.createField(FieldKey.URL_DISCOGS_ARTIST_SITE, "http://www.discogs1.com")); tag.setField(tag.createField(FieldKey.URL_DISCOGS_RELEASE_SITE, "http://www.discogs2.com")); tag.setField(tag.createField(FieldKey.URL_OFFICIAL_ARTIST_SITE, "http://www.discogs3.com")); tag.setField(tag.createField(FieldKey.URL_OFFICIAL_RELEASE_SITE, "http://www.discogs4.com")); tag.addField(tag.createField(FieldKey.URL_WIKIPEDIA_ARTIST_SITE, "http://www.discogs5.com")); tag.addField(tag.createField(FieldKey.URL_WIKIPEDIA_RELEASE_SITE, "http://www.discogs6.com")); tag.setField(tag.createField(FieldKey.DISC_TOTAL, "3")); tag.setField(tag.createField(FieldKey.TRACK_TOTAL, "11")); // setField the IsVbr value (can be modified for now) tag.setField(tag.createField(AsfFieldKey.ISVBR, Boolean.TRUE.toString())); f.commit(); f = AudioFileIO.read(testFile); tag = (AsfTag) f.getTag(); assertTrue(f.getAudioHeader().isVariableBitRate()); assertEquals("artist2", tag.getFirst(FieldKey.ARTIST)); assertEquals("album2", tag.getFirst(FieldKey.ALBUM)); assertEquals("tracktitle2", tag.getFirst(FieldKey.TITLE)); assertEquals("comments2", tag.getFirst(FieldKey.COMMENT)); assertEquals("1972", tag.getFirst(FieldKey.YEAR)); assertEquals("4", tag.getFirst(FieldKey.TRACK)); assertEquals("genre2", tag.getFirst(FieldKey.GENRE)); assertEquals("copyright", tag.getFirstCopyright()); assertEquals("rating", tag.getFirstRating()); assertEquals("http://www.lyrics.fly.com", tag.getFirst(FieldKey.URL_LYRICS_SITE)); assertEquals("http://www.discogs1.com", tag.getFirst(FieldKey.URL_DISCOGS_ARTIST_SITE)); assertEquals("http://www.discogs2.com", tag.getFirst(FieldKey.URL_DISCOGS_RELEASE_SITE)); assertEquals("http://www.discogs3.com", tag.getFirst(FieldKey.URL_OFFICIAL_ARTIST_SITE)); assertEquals("http://www.discogs4.com", tag.getFirst(FieldKey.URL_OFFICIAL_RELEASE_SITE)); assertEquals("http://www.discogs5.com", tag.getFirst(FieldKey.URL_WIKIPEDIA_ARTIST_SITE)); assertEquals("http://www.discogs6.com", tag.getFirst(FieldKey.URL_WIKIPEDIA_RELEASE_SITE)); assertEquals("3", tag.getFirst(FieldKey.DISC_TOTAL)); assertEquals("11", tag.getFirst(FieldKey.TRACK_TOTAL)); AudioFileIO.delete(f); f = AudioFileIO.read(testFile); tag = (AsfTag) f.getTag(); assertFalse(f.getAudioHeader().isVariableBitRate()); assertTrue(tag.isEmpty()); } catch (Exception e) { e.printStackTrace(); exceptionCaught = e; } assertNull(exceptionCaught); }