org.jaudiotagger.audio.exceptions.ReadOnlyFileException Java Examples
The following examples show how to use
org.jaudiotagger.audio.exceptions.ReadOnlyFileException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Id3Writer.java From QuickLyric with GNU General Public License v3.0 | 6 votes |
@Override protected Boolean doInBackground(Object... params) { Lyrics editedLyrics = (Lyrics) params[0]; File musicFile = (File) params[1]; boolean failed = false; if (musicFile != null) try { AudioFile af = AudioFileIO.read(musicFile); TagOptionSingleton.getInstance().setAndroid(true); Tag tags = af.getTag(); tags.setField(FieldKey.ARTIST, editedLyrics.getArtist()); tags.setField(FieldKey.TITLE, editedLyrics.getTitle()); tags.setField(FieldKey.LYRICS, Html.fromHtml(editedLyrics.getText()).toString()); af.setTag(tags); AudioFileIO.write(af); } catch (CannotReadException | IOException | ReadOnlyFileException | TagException | InvalidAudioFrameException | NullPointerException | CannotWriteException e) { e.printStackTrace(); failed = true; } return failed; }
Example #2
Source File: BasicPlayer.java From HubPlayer with GNU General Public License v3.0 | 6 votes |
public int getAudioTrackLength(URL url) { try { // 只能获得本地歌曲文件的信息 AudioFile file = AudioFileIO.read(new File(url.toURI())); // 获取音频文件的头信息 AudioHeader audioHeader = file.getAudioHeader(); // 文件长度 转换成时间 return audioHeader.getTrackLength(); } catch (CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException | URISyntaxException e) { e.printStackTrace(); return -1; } }
Example #3
Source File: AlbumsArtDownloadService.java From Rey-MusicPlayer with Apache License 2.0 | 5 votes |
public void setAlbumArt(File file, Bitmap artworkBitmap, Song song) throws IOException, TagException, ReadOnlyFileException, CannotReadException, InvalidAudioFrameException { artworkBitmap = Bitmap.createScaledBitmap(artworkBitmap, 500, 500, false); ByteArrayOutputStream stream = new ByteArrayOutputStream(); artworkBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteArray = stream.toByteArray(); File artworkFile = new File(Environment.getExternalStorageDirectory() + "/artwork.jpg"); if (!artworkFile.exists()) artworkFile.createNewFile(); FileOutputStream out = new FileOutputStream(artworkFile); artworkBitmap.compress(Bitmap.CompressFormat.JPEG, 90, out); Artwork artwork = Artwork.createArtworkFromFile(artworkFile); artwork.setBinaryData(byteArray); AudioFile audioFile = AudioFileIO.read(file); Tag tag = audioFile.getTagOrCreateAndSetDefault(); if (tag.getFirstArtwork() != null) { tag.deleteArtworkField(); tag.setField(artwork); } else { tag.addField(artwork); } Uri uri = MusicUtils.getAlbumArtUri(song._albumId); DiskCacheUtils.removeFromCache(uri.toString(), ImageLoader.getInstance().getDiskCache()); String path = FileUtils.getRealPathFromURI(uri); new File(path).delete(); artworkFile.delete(); }
Example #4
Source File: MediaStoreUtil.java From APlayer with GNU General Public License v3.0 | 5 votes |
@WorkerThread public static void saveArtwork(Context context, int albumId, File artFile) throws TagException, ReadOnlyFileException, CannotReadException, InvalidAudioFrameException, IOException, CannotWriteException { Song song = MediaStoreUtil.getSongByAlbumId(albumId); if (song == null) { return; } AudioFile audioFile = AudioFileIO.read(new File(song.getUrl())); Tag tag = audioFile.getTagOrCreateAndSetDefault(); Artwork artwork = ArtworkFactory.createArtworkFromFile(artFile); tag.deleteArtworkField(); tag.setField(artwork); audioFile.commit(); insertAlbumArt(context, albumId, artFile.getAbsolutePath()); }
Example #5
Source File: SongDetailDialog.java From Music-Player with GNU General Public License v3.0 | 4 votes |
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity context = getActivity(); final Song song = getArguments().getParcelable("song"); MaterialDialog dialog = new MaterialDialog.Builder(context) .customView(R.layout.dialog_file_details, true) .title(context.getResources().getString(R.string.label_details)) .positiveText(android.R.string.ok) .build(); View dialogView = dialog.getCustomView(); final TextView fileName = dialogView.findViewById(R.id.file_name); final TextView filePath = dialogView.findViewById(R.id.file_path); final TextView fileSize = dialogView.findViewById(R.id.file_size); final TextView fileFormat = dialogView.findViewById(R.id.file_format); final TextView songLength = dialogView.findViewById(R.id.song_length); final TextView bitRate = dialogView.findViewById(R.id.bitrate); final TextView samplingRate = dialogView.findViewById(R.id.sampling_rate); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, "-")); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, "-")); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, "-")); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, "-")); songLength.setText(makeTextWithTitle(context, R.string.label_song_length, "-")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); if (song != null) { final File songFile = new File(song.data); if (songFile.exists()) { fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); try { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); songLength.setText(makeTextWithTitle(context, R.string.label_song_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { Log.e(TAG, "error while reading the song file", e); // fallback songLength.setText(makeTextWithTitle(context, R.string.label_song_length, MusicUtil.getReadableDurationString(song.duration))); } } else { // fallback fileName.setText(makeTextWithTitle(context, R.string.label_file_name, song.title)); songLength.setText(makeTextWithTitle(context, R.string.label_song_length, MusicUtil.getReadableDurationString(song.duration))); } } return dialog; }
Example #6
Source File: SongDetailDialog.java From Orin with GNU General Public License v3.0 | 4 votes |
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity context = getActivity(); final Song song = getArguments().getParcelable("song"); MaterialDialog dialog = new MaterialDialog.Builder(context) .customView(R.layout.dialog_file_details, true) .title(context.getResources().getString(R.string.label_details)) .positiveText(android.R.string.ok) .build(); View dialogView = dialog.getCustomView(); final TextView fileName = (TextView) dialogView.findViewById(R.id.file_name); final TextView filePath = (TextView) dialogView.findViewById(R.id.file_path); final TextView fileSize = (TextView) dialogView.findViewById(R.id.file_size); final TextView fileFormat = (TextView) dialogView.findViewById(R.id.file_format); final TextView trackLength = (TextView) dialogView.findViewById(R.id.track_length); final TextView bitRate = (TextView) dialogView.findViewById(R.id.bitrate); final TextView samplingRate = (TextView) dialogView.findViewById(R.id.sampling_rate); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, "-")); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, "-")); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, "-")); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, "-")); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, "-")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); try { if (song != null) { final File songFile = new File(song.data); if (songFile.exists()) { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); } } } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { Log.e(TAG, "error while reading the song file", e); } return dialog; }
Example #7
Source File: Id3TagEditorActivity.java From Rey-MusicPlayer with Apache License 2.0 | 4 votes |
private void fetchDetails() { File file = new File(SONG_PATH); try { AudioFile audioFile = AudioFileIO.read(file); Tag tag = audioFile.getTagOrCreateAndSetDefault(); title = tag.getFirst(FieldKey.TITLE); mTitleEditText.setText(title); mTitleEditText.setSelection(title.length()); artist = tag.getFirst(FieldKey.ARTIST); mArtistEditText.setText(artist); mArtistEditText.setSelection(artist.length()); album = tag.getFirst(FieldKey.ALBUM); mAlbumEditText.setText(album); mAlbumEditText.setSelection(album.length()); albumArtist = tag.getFirst(FieldKey.ALBUM_ARTIST); mAlbumArtistEditText.setText(albumArtist); mAlbumArtistEditText.setSelection(albumArtist.length()); genre = tag.getFirst(FieldKey.GENRE); mGenreEditText.setText(genre); mGenreEditText.setSelection(genre.length()); producer = tag.getFirst(FieldKey.PRODUCER); mProducerEditText.setText(producer); mProducerEditText.setSelection(mProducerEditText.length()); year = tag.getFirst(FieldKey.YEAR); mYearEditText.setText(year); mYearEditText.setSelection(year.length()); track = tag.getFirst(FieldKey.TRACK); mTrackEditText.setText(track); mTrackEditText.setSelection(track.length()); totalTrack = tag.getFirst(FieldKey.TRACK_TOTAL); mTotalTrackEditText.setText(totalTrack); mTotalTrackEditText.setSelection(totalTrack.length()); comment = tag.getFirst(FieldKey.COMMENT); mCommentsEditText.setText(comment); mCommentsEditText.setSelection(comment.length()); List<Artwork> artwork = tag.getArtworkList(); if (artwork.size() > 0) { byte[] image = artwork.get(0).getBinaryData(); Bitmap bitmap = BitmapFactory.decodeByteArray(image, 0, image.length); // mCardView.setCardBackgroundColor(Palette.from(bitmap).generate().getC(R.color.deep_purple)); mAlbumArtImage.setImageBitmap(bitmap); } } catch (CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { e.printStackTrace(); Toast.makeText(this, R.string.track_is_malformed, Toast.LENGTH_SHORT).show(); finish(); } }
Example #8
Source File: SongDetailDialog.java From RetroMusicPlayer with GNU General Public License v3.0 | 4 votes |
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity context = getActivity(); final Song song = getArguments().getParcelable("song"); MaterialDialog dialog = new MaterialDialog.Builder(context) .customView(R.layout.dialog_file_details, true) .title(context.getResources().getString(R.string.label_details)) .positiveText(android.R.string.ok) .build(); View dialogView = dialog.getCustomView(); final TextView fileName = dialogView.findViewById(R.id.file_name); final TextView filePath = dialogView.findViewById(R.id.file_path); final TextView fileSize = dialogView.findViewById(R.id.file_size); final TextView fileFormat = dialogView.findViewById(R.id.file_format); final TextView trackLength = dialogView.findViewById(R.id.track_length); final TextView bitRate = dialogView.findViewById(R.id.bitrate); final TextView samplingRate = dialogView.findViewById(R.id.sampling_rate); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, "-")); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, "-")); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, "-")); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, "-")); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, "-")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); try { if (song != null) { final File songFile = new File(song.data); if (songFile.exists()) { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); } } } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { Log.e(TAG, "error while reading the song file", e); } return dialog; }
Example #9
Source File: SongDetailDialog.java From VinylMusicPlayer with GNU General Public License v3.0 | 4 votes |
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity context = getActivity(); final Song song = getArguments().getParcelable("song"); MaterialDialog dialog = new MaterialDialog.Builder(context) .customView(R.layout.dialog_file_details, true) .title(context.getResources().getString(R.string.label_details)) .positiveText(android.R.string.ok) .build(); View dialogView = dialog.getCustomView(); final TextView fileName = dialogView.findViewById(R.id.file_name); final TextView filePath = dialogView.findViewById(R.id.file_path); final TextView fileSize = dialogView.findViewById(R.id.file_size); final TextView fileFormat = dialogView.findViewById(R.id.file_format); final TextView trackLength = dialogView.findViewById(R.id.track_length); final TextView bitRate = dialogView.findViewById(R.id.bitrate); final TextView samplingRate = dialogView.findViewById(R.id.sampling_rate); final TextView replayGain = dialogView.findViewById(R.id.replay_gain); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, "-")); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, "-")); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, "-")); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, "-")); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, "-")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); replayGain.setText(makeTextWithTitle(context, R.string.label_replay_gain, "-")); if (song != null) { final File songFile = new File(song.data); if (songFile.exists()) { fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); try { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); float rgTrack = song.getReplayGainTrack(); float rgAlbum = song.getReplayGainAlbum(); String replayGainValues = ""; if (rgTrack != 0.0) { replayGainValues += String.format("%s: %.2f dB ", context.getString(R.string.song), rgTrack); } if (rgAlbum != 0.0) { replayGainValues += String.format("%s: %.2f dB ", context.getString(R.string.album), rgAlbum); } if (replayGainValues.equals("")) { replayGainValues = context.getString(R.string.none); } replayGain.setText(makeTextWithTitle(context, R.string.label_replay_gain, replayGainValues)); } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { Log.e(TAG, "error while reading the song file", e); // fallback trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } } else { // fallback fileName.setText(makeTextWithTitle(context, R.string.label_file_name, song.title)); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } } return dialog; }
Example #10
Source File: SongDetailDialog.java From Phonograph with GNU General Public License v3.0 | 4 votes |
@NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Activity context = getActivity(); final Song song = getArguments().getParcelable("song"); MaterialDialog dialog = new MaterialDialog.Builder(context) .customView(R.layout.dialog_file_details, true) .title(context.getResources().getString(R.string.label_details)) .positiveText(android.R.string.ok) .build(); View dialogView = dialog.getCustomView(); final TextView fileName = dialogView.findViewById(R.id.file_name); final TextView filePath = dialogView.findViewById(R.id.file_path); final TextView fileSize = dialogView.findViewById(R.id.file_size); final TextView fileFormat = dialogView.findViewById(R.id.file_format); final TextView trackLength = dialogView.findViewById(R.id.track_length); final TextView bitRate = dialogView.findViewById(R.id.bitrate); final TextView samplingRate = dialogView.findViewById(R.id.sampling_rate); fileName.setText(makeTextWithTitle(context, R.string.label_file_name, "-")); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, "-")); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, "-")); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, "-")); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, "-")); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, "-")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, "-")); if (song != null) { final File songFile = new File(song.data); if (songFile.exists()) { fileName.setText(makeTextWithTitle(context, R.string.label_file_name, songFile.getName())); filePath.setText(makeTextWithTitle(context, R.string.label_file_path, songFile.getAbsolutePath())); fileSize.setText(makeTextWithTitle(context, R.string.label_file_size, getFileSizeString(songFile.length()))); try { AudioFile audioFile = AudioFileIO.read(songFile); AudioHeader audioHeader = audioFile.getAudioHeader(); fileFormat.setText(makeTextWithTitle(context, R.string.label_file_format, audioHeader.getFormat())); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(audioHeader.getTrackLength() * 1000))); bitRate.setText(makeTextWithTitle(context, R.string.label_bit_rate, audioHeader.getBitRate() + " kb/s")); samplingRate.setText(makeTextWithTitle(context, R.string.label_sampling_rate, audioHeader.getSampleRate() + " Hz")); } catch (@NonNull CannotReadException | IOException | TagException | ReadOnlyFileException | InvalidAudioFrameException e) { Log.e(TAG, "error while reading the song file", e); // fallback trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } } else { // fallback fileName.setText(makeTextWithTitle(context, R.string.label_file_name, song.title)); trackLength.setText(makeTextWithTitle(context, R.string.label_track_length, MusicUtil.getReadableDurationString(song.duration))); } } return dialog; }