2010-07-15 83 views
1

我需要得到一个MP4视频的视频时长(视频格式AVC)编程方式获得视频持续时间

我使用DirectShowLib 2.1

我下载了几个编解码器,但我仍然获取代码-2147220891做

graphBuilder.RenderFile(filePath, null); 

任何想法如何获得这种视频的持续时间(错误代码,我不知道这意味着什么)?

+0

十六进制这将是0x80040265。 – ChrisF 2010-07-15 21:16:50

+0

这与此有关吗? – ToFo 2016-10-27 06:28:38

回答

6

-2147220891是十六进制中的0x80040265。一种是错误代码搜索发现this thread

0x80040265是不是真正的“未知”。严格来说,它是VFW_E_UNSUPPORTED_STREAM,这意味着您的AVI文件至少包含一个您没有正确编解码器的流(例如视频)。

所以它看起来像你还没有找到正确的编解码器。

该文件是否在Windows Media Player或VLC(例如)中播放?

+0

这非常有帮助。对不起,我的无知,但你如何得到这个数字:0x80040265。我做了一个转换为数字2147220891的十六进制数,并且我得到了其他的东西 – StackOverflower 2010-07-15 21:30:20

+0

@Timmy - 您忘记在转换中包含减号 - 轻松完成。多年来,我已经使用了足够多的Microsoft API来自动执行此操作。您可以切换Visual Studio以在其监视窗口中显示十六进制。 – ChrisF 2010-07-15 21:31:11

+0

你是伟大的人。谢谢! – StackOverflower 2010-07-15 21:34:05