使用mp3agic更改mp3专辑封面后,扫描新的mp3文件,无法获取更改的专辑封面, mp3agic更改专辑封面代码
mp3file = new Mp3File(edit_song.getPath());
ID3v24Tag id3v24Tag = new ID3v24Tag();
ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream();
Bitmap bitmap= BitmapFactory.decodeFile(pick_image_file);
bitmap.compress(Bitmap.CompressFormat.JPEG,100, byteArrayOutputStream);
byte [] bytes=byteArrayOutputStream.toByteArray();
Log.e("image bytes length",bytes.length+"");
id3v24Tag.setAlbumImage(bytes, "image/jpg");
mp3file.setId3v2Tag(id3v24Tag);
edit_song_file = new File(edit_song.getPath());
temp_file = new File(edit_song_file.getParent()+"/temp_file.mp3");
mp3file.save(temp_file.getPath());
扫描新文件代码
MediaScannerConnection.scanFile(this,
new String[] { temp_file.getPath() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.e("scan completed","true");
}
});
可以更改专辑封面,但扫描新文件后系统将无法在提供者中生成数据。
答案 0 :(得分:0)
原因是提供程序中仍然存在旧文件信息,因此,如果要更新信息,则必须删除这些旧信息。