2010-07-15 66 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