Android音楽タグ付けアプリにJaudiotagger 2.2.5を使用しています。アルバム名、アーティスト名、ジャンルなどのメタデータを変更することはできますが、何を試してもアルバム アートの部分が機能しません。オンラインで見つけることができるすべての提案を使い果たしましたが、何も機能していないようです。Jaudiotagger 自体にはドキュメントがなく、開発者はそのような問題に答えるのに非常に役立ちません。
for(Song s : songlist){ //for each song in the album
File file = new File(artUri);
if(file.exists()) {
Artwork cover = ArtworkFactory.createArtworkFromFile(file);
tag.deleteArtworkField();
tag.createField(cover);
tag.setField(cover);
af.commit();
}
Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(f));
sendBroadcast(intent);
}
さらに、別の方法を使用してメディアストアを更新しています。
public void updateAlbumArtMediaStore(Context context, final long id, String art){
Uri uri = ContentUris.withAppendedId(Uri.parse("content://media/external/audio/albumart"), id);
context.getContentResolver().delete(uri,null, null);
ContentValues values = new ContentValues();
values.put("album_id", id);
values.put("_data", art);
Uri newuri = context.getContentResolver()
.insert(Uri.parse("content://media/external/audio/albumart"),
values);
if(newuri!=null){
Toast.makeText(AlbumTagEditorActivity.this, "UPDATED", Toast.LENGTH_LONG).show();
context.getContentResolver().notifyChange(uri, null);
}else{
Toast.makeText(AlbumTagEditorActivity.this, "FAILED", Toast.LENGTH_LONG).show();
}
}
しかし、これを行うと、カバーアートのみが削除されます。
私がこれを正しくしようとしてから数ヶ月が経ちました。私が試したことはありません。