Я пытаюсь получить продолжительность медиафайла с помощью DirectShow. Я использую следующий код (C#):DirectShow GetDuration дает неправильное значение длительности
var seekingParser = filter as IMediaSeeking;
if (seekingParser != null)
{
long duration;
if (seekingParser.SetTimeFormat(TimeFormat.MediaTime) == 0
&& seekingParser.GetDuration(out duration) == 0)
track.Duration = duration/10000000f;
}
для получения продолжительности медиафайла в секундах. Однако, когда я пытаюсь открыть MP3-файлы 3-4 мин, track.Duration станет 11-12 минут. Я пытался использовать несколько файлов, и эффект всегда один и тот же. В чем причина?
Mp3-файлы с vbr и без правильных заголовков xing могут быть рассчитаны неправильно. Дополнительная информация: http://stackoverflow.com/questions/383164/how-to-retrieve-duration-of-mp3-in-net/13269914#13269914 –