我試圖用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;
}
以秒爲單位獲取媒體文件持續時間。但是,當我嘗試打開3-4分鐘的MP3文件時,track.Duration變爲11-12分鐘。我試過多個文件,效果總是一樣的。可能是什麼原因?
使用vbr和沒有正確的xing標題的mp3文件可能計算錯誤。更多信息:http://stackoverflow.com/questions/383164/how-to-retrieve-duration-of-mp3-in-net/13269914#13269914 – 2012-11-09 16:53:40