如何获取wmv文件的时间码

时间:2012-12-05 17:05:09

标签: c# wmplib

我在WMPLib中找到了WindowsMediaPlayer,但没有找到时间码!

有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

我相信您的问题的答案是您需要为文件中的每个流调用IWMReaderTimecode :: GetTimecodeRangeCount。然后为每个流中的每个范围调用IWMReaderTimecode :: GetTimecodeRangeBounds以获取每个范围的startTimecode和endTimecode。

答案 1 :(得分:0)

查看这两篇文章Get WMA/WMV meta information in C#Getting Current Time Code Using Windows Media Player Class in C#,您可以尝试以下方法:

using WMPLib; // this file is called Interop.WMPLib.dll 

WindowsMediaPlayerClass wmp = new WindowsMediaPlayerClass(); 
IWMPMedia mediaInfo = wmp.newMedia("myfile.wmv"); 

Console.WriteLine("Duration = " + mediaInfo.duration); 

for (int i=0; i<mediaInfo.attributeCount; i++) { 
    Console.WriteLine(mediaInfo.getAttributeName(i) + " = " + 
    mediaInfo.getItemInfo(mediaInfo.getAttributeName(i)) ); 
} 

或使用Controls.CurrentPositionString属性获取当前时间。

Console.WriteLine(wmp.controls.currentPositionString);