MediaScannerConnection.scanFile无法获取mp3专辑封面

时间:2018-09-30 00:59:17

标签: android

使用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");
                    }
                });

可以更改专辑封面,但扫描新文件后系统将无法在提供者中生成数据。

1 个答案:

答案 0 :(得分:0)

原因是提供程序中仍然存在旧文件信息,因此,如果要更新信息,则必须删除这些旧信息。