Malcolm, спасибо!На з530 пашет,всё изменяет четко.Проверял на компе те теги которые не видно с тела,тож всё ок.Изменял теги в 37 файлах,глюков не заметил.Спасибо!
На ноге вылетает NullPointerException после создания файла .mp3.temp идёт запрос на изменение файла .mp3, потом .mp3.temp после этого ошибка... Это при редактировании некоторых. Зачем он создаётся? Когда редактируется нормально он не создаётся, и идёт тока один запрос на изменение .mp3 и всё, плеер отображает буквы
Ну отвечаю по порядку. Сначала про причины происхождения mp3.temp. Дело в том, что ID3v2 не так просто отрезать, как ID3v1. В последнем случае достаточно только обрезать конец файла, а чтобы удалить ID3v2, нужно его либо чем-то переписать, либо создать новый файл, скопировать туда всю нужную информацию из первого, а уже потом удалить первый и переименовать второй как первый. Таким временным файлом mp3.temp и является.
В изначальный файл записывается только в том случае, если изначальный тег меньше, чем записываемый, но записываемый переписывает то, что было, и часть пустого пространства в конце старого тега. Если временный равен 0 байт, значит в него не получается записать. Почему - надо будет разбираться. Наверное, я выложу версию с логгером, как я поступал с MobileTar, и все желающие помочь будут присылать мне логи.
Дальше по поводу уже бывших тегов: когда теги ID3v2 удаляются, я уже написал, ID3v1 удаляются вообще всегда. После нажатия Save All происходит удаление старых тегов и должен записываться новый тег. Новый тег изначально состоит либо из ID3v2, который до него был, либо, если был только ID3v1, то из него. То, что будет записано, всегда видно в самом окне редактирования. Если в файле было два тега: и ID3v2, и ID3v1, то ID3v1 будет просто удален и никак не повлияет.
18 авг 2007 в 18:36