如何在MediaStore.Audio.Media或音频文件中编辑/插入ALBUM_ID?

时间:2018-10-05 09:30:19

标签: java android mediastore albumart

我有一个功能,可以根据其“ Album_ID”设置链接到音乐文件(mp3,m4a,wav等)的位图(音乐封面) >

public static void setAlbumCover(Context context, Bitmap bitmap, int album) {
Uri albumArtUri = Uri.parse("content://media/external/audio/albumart");

int lol = context.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, album), null, null);
Log.d("DELETED", String.valueOf(lol));


String dirName = Environment.getExternalStorageDirectory().getPath() + "/albumthumbs/";
String filename = dirName + Long.toString(Calendar.getInstance().getTimeInMillis());
File dir = new File(dirName);
if (!dir.exists()) {
  dir.mkdirs();
}
File file = new File(filename);
FileOutputStream out = null;
try {
  out = new FileOutputStream(file);
  bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
} catch (Exception e) {
  e.printStackTrace();
} finally {
  try {
    if (out != null) {
      out.close();
    }
  } catch (IOException e) {
    e.printStackTrace();
  }
}


ContentValues values = new ContentValues();
values.put("album_id", album);
values.put("_data", filename);

ContentValues values2 = new ContentValues();
Uri num_updates = context.getContentResolver().insert(albumArtUri, values);
Log.d("NUM UPDATES", num_updates.toString());
}

问题是,如果我可以更改那些Album_ID,则许多音乐文件具有相同的“ ALBUM_ID”,我不会在多个音乐文件上具有相同的图像(音乐封面)

我尝试使用以下代码。我认为这是不正确的,无法找到一种方法

ContentValues values = new ContentValues();
values.put(MediaStore.Audio.Media.ALBUM_ID,7);
Uri mUri = musicResolver.insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);

0 个答案:

没有答案