2013-09-15 6 views
0

Изменение моего поведения в изображении для одного файла MP3. Открыв MP3-файл на моем ПК, работа была изменена, но, открыв файл MP3 на устройстве Android, ничего не происходит. Представленное изображение все еще остается старым.Сканирование Mediastore не замечает тегирование обложки альбома альбома

Я попытался это:

Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
File f = new File(song_path); 
Uri contentUri = Uri.fromFile(f); 
mediaScanIntent.setData(contentUri); 
FindCoverActivity.this.sendBroadcast(mediaScanIntent); 

, но ничего не случилось.

Я пробовал другое: изменив обложку И имя альбома, медиастар сразу же заметил, что происходит, и снова открыв mp3-файл на телефоне Android, изображение будет отображаться правильно с новыми произведениями искусства. Но не моя цель - изменить важные теги mp3, такие как название альбома. Может ли это быть ошибкой или есть какие-то предложения?

Спасибо!

ответ

0

Вы можете попробовать MediaScannerConnection и его метод scanFile() вместо ACTION_MEDIA_SCANNER_SCAN_FILE и посмотреть, есть ли у вас лучшие результаты.

Кроме того, убедитесь, что временная метка последнего изменения файла изменяется при сохранении измененных изображений. Я не эксперт в таких модификациях MP3-файлов, но если там есть тег timestamp, вы можете подумать об обновлении этой метки времени. В принципе, вам нужно убедиться, что MediaStore понимает, что есть изменения, требующие обновления его метаданных.

Если все остальное не удается, вы можете попытаться разработать подход, который временно изменяет название альбома незначительным образом (например, добавляет пробел), а затем меняет его. Это взлом, но это может быть ваш единственный надежный вариант.

+0

Спасибо, это очень помогло мне. Мое решение: я использовал lib jaudiotagger для пометки аудиофайлов. Это было неверно, потому что он не сообщает Mediastore об изменениях! – user2781922

Смежные вопросы