我需要得到一个MP4视频的视频时长(视频格式AVC)编程方式获得视频持续时间
我使用DirectShowLib 2.1
我下载了几个编解码器,但我仍然获取代码-2147220891做
graphBuilder.RenderFile(filePath, null);
任何想法如何获得这种视频的持续时间(错误代码,我不知道这意味着什么)?
我需要得到一个MP4视频的视频时长(视频格式AVC)编程方式获得视频持续时间
我使用DirectShowLib 2.1
我下载了几个编解码器,但我仍然获取代码-2147220891做
graphBuilder.RenderFile(filePath, null);
任何想法如何获得这种视频的持续时间(错误代码,我不知道这意味着什么)?
-2147220891是十六进制中的0x80040265。一种是错误代码搜索发现this thread
0x80040265是不是真正的“未知”。严格来说,它是VFW_E_UNSUPPORTED_STREAM,这意味着您的AVI文件至少包含一个您没有正确编解码器的流(例如视频)。
所以它看起来像你还没有找到正确的编解码器。
该文件是否在Windows Media Player或VLC(例如)中播放?
这非常有帮助。对不起,我的无知,但你如何得到这个数字:0x80040265。我做了一个转换为数字2147220891的十六进制数,并且我得到了其他的东西 – StackOverflower 2010-07-15 21:30:20
@Timmy - 您忘记在转换中包含减号 - 轻松完成。多年来,我已经使用了足够多的Microsoft API来自动执行此操作。您可以切换Visual Studio以在其监视窗口中显示十六进制。 – ChrisF 2010-07-15 21:31:11
你是伟大的人。谢谢! – StackOverflower 2010-07-15 21:34:05
如果您只需要文件的持续时间,则可以尝试使用IMediaDet。我有一个在这里使用的例子:http://wpfmediakit.codeplex.com/SourceControl/changeset/view/41623#245585
谢谢,我会看看这个 – StackOverflower 2010-07-20 02:51:29
十六进制这将是0x80040265。 – ChrisF 2010-07-15 21:16:50
这与此有关吗? – ToFo 2016-10-27 06:28:38