Обновление тегов Android JAudioTagger не отображается при обновлении библиотеки
Я использую библиотеку jAudioTagger для редактирования метаданных песен из моего музыкального проигрывателя. Функция для редактирования тегов:
save = (Button) findViewById(R.id.save);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
File src = new File(filepath);
songName=song.getText().toString();
artistName=artist.getText().toString();
albumName=album.getText().toString();
try{
TagOptionSingleton.getInstance().setAndroid(true);
AudioFile f = AudioFileIO.read(src);
f.setTag(new ID3v23Tag());
Tag tag=f.getTag();
tag.setField(FieldKey.TITLE,songName);
tag.setField(FieldKey.ARTIST,artistName);
tag.setField(FieldKey.ALBUM,albumName);
f.commit();
Toast.makeText(getApplicationContext(),"Done",Toast.LENGTH_SHORT).show();
}catch (Exception e){
e.printStackTrace();
}
}
});
Однако после обновления тегов изменение нигде не отражается. Даже после обновления моей музыкальной библиотеки изменения не отображаются. Как обновить MediaStore, чтобы отразить изменения, внесенные в теги, чтобы все музыкальные проигрыватели имели доступ к отредактированным тегам?
1 ответ
Вместо audioFile.commit();
использование AudioFileIO.write(audioFile);
Если это не работает, используйте этот метод для сканирования медиа
private void scanMedia(String path) {
File file = new File(path);
Uri uri = Uri.fromFile(file);
Intent scanFileIntent = new Intent(
Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
getContext().sendBroadcast(scanFileIntent);
}