Обновление тегов 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);
}
Другие вопросы по тегам