![]() |
Исправить ошибку работы с кириллицой в mp3tagger - jar архив
mp3tagger я использую для экспорта а затем импорта тэга mp3.
Моя задача (почти решена, есть один момент который очень мешает): существующие mp3 файлы с тагами разложенные по папкам экспортнуть tag в текстовый файл, отконвертировать mp3 в wav, затем отконвертировать с помощью lame обратно в mp3 но с переменным битрейдом и заданным качеством, импортировать обратно mp3 tag - для реализации написаны батники. Почему был выбран именно Mp3Tagger: возможность работы с коммандной строки, экспорт/импорт тэга в файл/из файла, настройки можно задать 1 раз через gui, а потом использовать конфиг. Использовать имя файла для промежуточного хранения тага - не катит по причине полноты информации. Этот jar архив умеющий работать с коммандной строкой взят отсюда: http://ostermiller.org/mp3tagger/ Проблема в том что импорт русского текста проходит отлично (если в tag файле прописать под виндой в cp1251 строки - всё импортнётся нормально), а вот экспорт кириллицы кривой - вместо всех символов кириллицы в результирующем mp3 получаем "э" а в экспортированном .tag файле "\uFFFD" Лажа в mp3tagger.jar\com\Ostermiller\Mp3Tagger\Lyric3\Mp3Tags.java в функции getID3() начало - строка 1202 вопросы: 1.меня интересуют значения констант - возможные варианты вместо "ASCII", при вызове String() 2.пробовал ничего не меняя откомпилировать с помощью jdk-1_5_0_02-windows-i586-p.exe - не собирается, вылазит куча ошибок "cannot find symbol" компилировал так: javac.exe mp3tags.java Как правильно скомпилить? 3.как пользоваться дебаггером jdb.exe - есть где-нибудь человеческая инструкция(пошаговое руководство) с примерами? Код:
private boolean getID3() throws UnsupportedEncodingException, IOException{ |
в большинстве случаев - бессмысленная работа по значительному ухудшения качества музыки при незначительной экономии объёмапо хорошему надо записывать теги в ID3v2, он юникодный. cp1251 в id3 вообще никак не регламентирована.
|
У кого mp3плеер на флешевый на 8гиг а то и дисковый на 40-80 тому конечно проблема не актуальна, а в 512-гиг очень даже помогает. По месту выигрывается ~20-30% при исходных 192-320kbps. Это не только сокоащает место на диске но и ускоряет бэкап например. На слух на большинстве треков я не слышу никакой разницы между 160kbps и больше, за редким исключением где 192 таки отличаются. Более 192 вообще не слышу разницу нигде. Перекодированные в vbr с мин=32kbps, макс=320 и quality=2 на слух ни один трек не отличаю от оригинала даже на hi-fi акустике.
Давайте не разводить здесь дискуссию о целесообразности этих действий - ошибка явно в java приложении. Его разработчик просто не предусмотрел использование символов выше 128го в тагах. Mp3Tagv2 он вообще не поддерживает. Вопросы из первого поста попрежнему актуальны. |
При компиляции пишет вот что:
Код:
C:\Appl\jdk\bin>javac mp3tags.java Код:
C:\Appl\jdk\bin>javac -Xlint mp3tags.java |
уже понял что если класс находиться в другом файле надо компилировать только все файлы вместе, а наличие скомпиленых включённых классов в той же папке и исходников никак не помогает.
вот так собирается: Код:
javac CorruptTagException.java Headline.java Lyric.java LyricLine.java LyricTime.java Mp3Tags.java StringTooLongException.java Осталось найти возможные варианты замены константы "ASCII" - подскажите какие есть другие значения или как правильно гуглить чтобы найти список констант. |
Время: 00:42. |
Время: 00:42.
© OSzone.net 2001-