我应该使用 mp3 标签编辑器还是在媒体商店中插入新值



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

 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中更新它。

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

谢谢

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

最新更新