C# 如何获取wmv文件的时间码

C# 如何获取wmv文件的时间码,c#,video,wmplib,timecodes,C#,Video,Wmplib,Timecodes,我在WMPLib中找到了WindowsMediaPlayer,但没有找到时间码 有人知道怎么做吗?我相信你的问题的答案是,你需要为文件中的每个流调用IWMReaderTimecode::GetTimecodeRangeCount。然后为每个流中的每个范围调用IWMReaderTimecode::GetTimecodeRangeBounds以获取每个范围的startTimecode和endTimecode。我相信您的问题的答案是,您需要为文件中的每个流调用IWMReaderTimecode::Ge

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


有人知道怎么做吗?

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

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

查看这两篇文章,您可以尝试以下方法:

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)) ); 
} 

查看这两篇文章,您可以尝试以下内容:

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)) ); 
} 

谢谢,你能加一个样品吗。你是如何实现这个类的?恐怕我主要是一个Java程序员。你最好在msdn论坛上提问。我有关于如何做到这一点的想法,如上所述,但这将需要一些了解代码谢谢,你可以添加一个样本。你是如何实现这个类的?恐怕我主要是一个Java程序员。你最好在msdn论坛上提问。我有如何做到这一点的想法,如上所述,但它将需要一些计算代码