我应该使用 mp3 标签编辑器还是在 MediaStore 中插入新值?

Should i use mp3 tag editor or insert new values in MediaStore?

这是我用来更新歌曲信息的代码。

 String currentTitle     = MediaStore.Audio.Media.TITLE;
 String currentArtist    = MediaStore.Audio.Media.ARTIST;
 String currentAlbumID   = MediaStore.Audio.Media.ALBUM_ID;
 String currentAlbum     = MediaStore.Audio.Media.ALBUM;
 String currentAlbumData = MediaStore.Audio.Media.DATA;
 String currentYear      = MediaStore.Audio.Media.YEAR;

 ContentValues values = new ContentValues();
 values.put(currentTitle, title);
 values.put(currentArtist, artist);
 values.put(currentAlbum, album);
 values.put(currentYear, year);

 //Update song info.
 String where = MediaStore.Audio.Media._ID + "=?";
 String[] whereVal = {Long.toString(songID)};
 resolver.update(musicUri, values, where, whereVal);

但我不确定这是否是正确的方法,它工作正常,当我以这种方式编辑歌曲并关闭应用程序并重新启动它时,歌曲会更新为新值。

标题艺术家专辑年份 是我从 EditText 获得的 新值 然后我将它作为 参数 传递给我的方法以在MediaStore.

我还阅读了一些关于 jAudioTagger 的内容,用于编辑 TAGS,但是我在使用这个库时遇到了一些问题,所以我想知道这是否也是一个好方法更新歌曲信息的方法。

谢谢

您是在将苹果与橙子进行比较。您现在正在做的是将信息保存到本地数据库。这可以在您的设备上进行快速排序和搜索。它不会将信息附加到音乐文件本身,因此如果您将歌曲复制到另一台设备,或与其他人共享,他们将不会获得该信息。
jAudioTagger 将信息放入文件本身。因此,即使您复制到其他设备或与其他人共享,它也会存在。但是搜索和排序会很慢,因为你必须打开每个文件然后排序。 所以正确的做法是两者兼顾。使用 jAudioTagger 等将信息保存到文件本身,然后像现在一样将其缓存到数据库,以便快速访问。