我需要一个mp4文件的时间,最好是在秒的两倍。 我使用的DirectShow(见下面的代码),但它不断抛出一个特别无益的错误。 我想知道,如果有人有一个简单的解决了这一点。 (说真的,谁知道得到的信息会如此困难)
public static void getDuration(string moviePath)
{
FilgraphManager m_objFilterGraph = null;
m_objFilterGraph = new FilgraphManager();
m_objFilterGraph.RenderFile(moviePath);
IMediaPosition m_objMediaPosition = null;
m_objMediaPosition = m_objFilterGraph as IMediaPosition;
Console.WriteLine(m_objMediaPosition.Duration);
}
每当我运行此代码,我得到的错误:“从HRESULT异常:0x80040265”
我用这个也尝试: 视频的获取长度 ,但它不工作,或者是因为我不认为它的工作原理上的MP4文件。
说真的,我觉得必须有这样做更简单的方法。
注意:我宁愿避免使用exe文件的ffmpeg的一样,然后解析输出来获取信息。