2015-05-11 196 views
2

我使用MediaPlayer來打開視頻,DrawingContext.DrawVideo()從視頻源獲取特定的幀。從視頻導入幀

問題是我不知道MediaPlayer是否放置在正確的位置。

Therad.Sleep(500)是一個黑客。

是否有另一種從視頻源獲取幀的簡單方法?或者我應該開始尋找DirectShow解決方案?

+1

有一個稍微年長,但使用MediaPlayer抓取幀的可能有用的實現:http://dlaa.me/blog/post/8921665。 – goobering

+0

謝謝,這是一個開始,現在我需要使它成爲一個簡單的方法調用:'GetFrameRange(TimeSpan time)' –

+0

完成!將您的評論發佈爲答案,以便我可以用我的詳細信息進行編輯。 –

回答

1

有一個稍微年長,但可能有用的實施框架與MediaPlayer在這裏抓:

dlaa.me/blog/post/8921665

下面是媒體採集卡的結構簡單:

LoadVideo(); 
//Add event handler to the Changed event. 
GetFirstFrame(); 
//Change video Position. 
//When the Changed event fires: 
GetCurrentFrame();