Я сейчас нахожусь в процессе переноса моего приложения на C # на Qt / C ++.У меня проблемы с длинами из TagLib.Я нахожу странным, что TagLib # возвращает продолжительность звука в миллисекундах, в то время как TagLib возвращает его (неправильную) продолжительность в секундах.TagLib просто возвращает ноль для значений длины, в то время как TagLib # остается верным.
Вот мой источник в C # / TagLib # ...
TagLib.File tagfile = TagLib.File.Create(path);
uint milliseconds = (uint)tagfile.Properties.Duration.TotalMilliseconds;
И здесьэто то, что должно быть почти эквивалентно в C ++ / TagLib.Я даже заставил это читать точно.Безуспешно.
TagLib::FileName fn(path);
TagLib::FileRef fr(fn, true, TagLib::AudioProperties::Accurate);
uint length = fr.audioProperties()->length();
Работает, как и ожидалось, для большинства моих медиафайлов.Тем не менее, некоторые звуковые файлы не могут вернуть никаких аудио свойств (остальная информация тега читается нормально!).Точно такие же аудио свойства возвращаются без проблем на TagLib #.
Любые идеи приветствуются.Спасибо.
У кого-нибудь еще есть идеи до окончания награды?