我正在尝试更新音频文件的流派标签。
CODE
final Uri genreUri = MediaStore.Audio.Genres.EXTERNAL_CONTENT_URI;
String currentGenreName = MediaStore.Audio.Genres.NAME;
ContentValues values2 = new ContentValues();
values2.put(currentGenreName, genre);
String whereGenre = MediaStore.Audio.Genres._ID + "=?";
String[] whereVal2 = {Long.toString(genreID)};
resolver.update(genreUri, values2, whereGenre, whereVal2);
-
genre:来自 edittext 的值(新流派名称)。
-
genreID:所选音频文件的流派ID。
我没有收到任何错误,但 MediaStore 流派表中的流派没有更新。
其他标签(如标题、艺术家、专辑和艺术)已更新,只有流派不起作用。
我也找不到有关更新音频文件中流派名称的任何信息,我只能使用上面的标签来完成此操作。
EDIT
我用 CODE 来编辑标题、艺术家、专辑名称和年份标签,效果很好,所以我想我必须对流派名称做同样的事情,因为我有流派 ID。
final Uri musicUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
ContentResolver resolver = c.getContentResolver();
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 currentGenreID = MediaStore.Audio.Genres._ID;
String currentGenreName = MediaStore.Audio.Genres.NAME;
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);
有什么原因不更新吗?