public void setFile(File file) throws InvalidAttributesException, CannotReadException, IOException, TagException, ReadOnlyFileException, InvalidAudioFrameException{ if(!file.exists()) { throw new InvalidAttributesException("Song file doesnt exist:"+file.getAbsolutePath()); } this.file=file; if(setTag(AudioFileIO.read(file).getTag())) { reloadAttributesFromFile(); } } protected boolean setTag(Tag t) {
/** * Recursive function to scan directory * * @param dir */ private void scanSingleDir(final File dir) { final File[] audioFiles = dir.listFiles(new AudioFileFilter(false)); if (audioFiles.length > 0) { for (File audioFile : audioFiles) { count++; try { AudioFileIO.read(audioFile); } catch (Throwable t) { System.err.println("Unable to read record:" + count + ":" + audioFile.getPath()); failed++; t.printStackTrace(); } } } final File[] audioFileDirs = dir.listFiles(new DirFilter()); if (audioFileDirs.length > 0) { for (File audioFileDir : audioFileDirs) { scanSingleDir(audioFileDir); } } }
try AudioFileIO.read(audioFile);
try AudioFileIO.read(audioFile);
public static Mp3Metadata instance( InputStream stream ) throws Exception { Mp3Metadata me = null; File tmpFile = null; try { tmpFile = File.createTempFile("modeshape-sequencer-mp3", ".mp3"); FileOutputStream fileOutputStream = new FileOutputStream(tmpFile); byte[] b = new byte[1024]; while (stream.read(b) != -1) { fileOutputStream.write(b); } fileOutputStream.close(); AudioFileIO.logger.getParent().setLevel(Level.OFF); AudioFile f = AudioFileIO.read(tmpFile); Tag tag = f.getTag(); me = new Mp3Metadata(); me.author = tag.getFirst(ARTIST); me.album = tag.getFirst(ALBUM); me.title = tag.getFirst(TITLE); me.comment = tag.getFirst(COMMENT); me.year = tag.getFirst(YEAR); } finally { if (tmpFile != null) { tmpFile.delete(); } } return me; }
public static Mp3Metadata instance( InputStream stream ) throws Exception { Mp3Metadata me = null; File tmpFile = null; try { tmpFile = File.createTempFile("modeshape-sequencer-mp3", ".mp3"); FileOutputStream fileOutputStream = new FileOutputStream(tmpFile); byte[] b = new byte[1024]; while (stream.read(b) != -1) { fileOutputStream.write(b); } fileOutputStream.close(); AudioFileIO.logger.getParent().setLevel(Level.OFF); AudioFile f = AudioFileIO.read(tmpFile); Tag tag = f.getTag(); me = new Mp3Metadata(); me.author = tag.getFirst(ARTIST); me.album = tag.getFirst(ALBUM); me.title = tag.getFirst(TITLE); me.comment = tag.getFirst(COMMENT); me.year = tag.getFirst(YEAR); } finally { if (tmpFile != null) { tmpFile.delete(); } } return me; }
@Override public void parseContent(final MultivaluedMap<String, String> parameters, final Path filePath, String extension, final String mimeType, final ParserResultBuilder resultBuilder) throws Exception { final AudioFile f = AudioFileIO.read(filePath.toFile()); final ParserFieldsBuilder metas = resultBuilder.metas(); metas.set(MIME_TYPE, findMimeType(extension, mimeType, EXTENSIONMAP::get)); final Tag tag = f.getTag(); if (tag == null) return; if (tag.getFieldCount() == 0) return; for (Map.Entry<FieldKey, ParserField> entry : FIELDMAP.entrySet()) { final List<TagField> tagFields = tag.getFields(entry.getKey()); if (tagFields == null) continue; for (TagField tagField : tagFields) { if (!(tagField instanceof TagTextField)) continue; metas.add(entry.getValue(), ((TagTextField) tagField).getContent()); } } }
TagOptionSingleton.getInstance().setAndroid(true); final File file = new File(Utils.getStoragePath(context) + "/" + title); final AudioFile f = AudioFileIO.read(file); final Tag tag = f.getTag(); String json = readFromFile(context, title);
try audioFile = AudioFileIO.read( files[i] ); tag = audioFile.getTag();
@Override public void write(Track track) throws TagWriteException { try { org.jaudiotagger.audio.AudioFile af1 = AudioFileIO.read(track.getTrackData().getFile()); Tag abstractTag = af1.getTagOrCreateDefault(); copyTagFields(abstractTag, new VorbisCommentTag(), track); AudioFileIO.write(af1); } catch (Exception e) { throw new TagWriteException(e); } }
@Override public void write(Track track) throws TagWriteException { try { org.jaudiotagger.audio.AudioFile af1 = AudioFileIO.read(track.getTrackData().getFile()); Tag abstractTag = af1.getTag(); copyTagFields(abstractTag, new Mp4Tag(), track); // workaround since track/tracktotal and disc/disctotal share same field handleTrackDiscFields(abstractTag, track); // workaround since genre and genre custom field types used handleGenreFields(abstractTag, track); AudioFileIO.write(af1); } catch (Exception e) { throw new TagWriteException(e); } }
CannotWriteException AudioFile f = AudioFileIO.read( testFile ); Tag tag = f.getTag(); if ( tag == null )