我正在尝试使用JaudioTagger 2.2.3
编辑音频文件的标签,但到目前为止我还没有取得任何成功。这是更改mp3
内部存储中文件的艺术家标签的测试代码
String path;
try
{
TagOptionSingleton.getInstance().setAndroid(true);
AudioFile f=AudioFileIO.read(new File(path));
Tag t=f.getTag();
t.setField(FieldKey.ARTIST,Str);
AudioFileIO.write(f);
}catch(CannotReadException e){}
catch(TagException e){}
catch(ReadOnlyException e){}
catch(InvalidAudioFrameException e){}
catch(CannotWriteException e){}
我的应用程序得到了很好的提升,android.permission.WRITE_EXTERNAL_STORAGE
我android.permission.READ_EXTERNAL_STORAGE
正在 Android 版本中测试Android 6.0
这段代码会抛出InvalidAudioFrameException
一条消息
No audio header found within example.mp3
这并不是说音频损坏了,因为它与其他 mp3 也显示出类似的错误 此外,如果有人有任何其他用于音频标记的 wat,请告诉我,我也使用mp3agic
了它反复显示:example.mp3:open failed :EROFS(Read only file system)
在线
Mp3File mp3file = new Mp3File(filePathStr+"example.mp3");
ID3v1 id3v1Tag;
if (mp3file.hasId3v1Tag()) {
id3v1Tag = mp3file.getId3v1Tag();
} else {
// mp3 does not have an ID3v1 tag, let's create one..
id3v1Tag = new ID3v1Tag();
mp3file.setId3v1Tag(id3v1Tag);
}
id3v1Tag.setTrack("5");
id3v1Tag.setArtist("An Artist");
id3v1Tag.setTitle("The Title");
id3v1Tag.setAlbum("The Album");
id3v1Tag.setYear("2001");
id3v1Tag.setGenre(12);
id3v1Tag.setComment("Some comment");
mp3file.save("example.mp3")//error showing in this line
我的问题
- 如何纠正Jaudiotagger?
- 有没有办法使用 Mp3agic 作为 Jaudiotagger 的替代品?
- 还是有任何其他有效的方法离开这两个?
我也使用过 JaaudioTagger-android但同样的问题仍然存在。提前致谢!