是否有方法來捕獲每個WPF MediaElement框架?就像在每個渲染框架中觸發並允許我訪問它的事件一樣。如果MediaElement沒有提供這樣的功能,那麼它如何實現或者我可以使用哪些其他控制?請注意,是否有這樣一種控制或方法可以實現在屏幕上快速渲染帶有幀捕捉的媒體剪輯? (所以我可以儘可能快地處理幀)捕獲每個WPF MediaElement框架
1
A
回答
3
試用我的WPF MediaKit項目。允許您使用Media在WPF中執行任何操作。試用MediaDetector.cs,它可以讓你隨時從媒體中提取出幀。這是一個小錯誤,因爲我從來沒有花太多時間,但應該爲你需要的東西工作。
0
沒有內置WPF方式:
- 的MediaElement不具備這種能力。
- BitmapDecoder提供API來請求這一點,但是使用BitmapDecoder從任意媒體中提取幀沒有實現:它只能從幾個動畫位圖格式(如.gif)中提取幀。
我能夠使用DirectShow從.mpg,.wmv,.mov,.flv,.avi和其他電影格式獲取幀圖像。我使用DirectShow的COM圖形構建器接口構建了一個過濾器圖形。生成的濾鏡圖解碼電影並將其連接到用C#編寫的自定義渲染器過濾器。我的自定義過濾器接收到幀數據,並將其轉換爲BitmapSource對象以供使用BitmapSource.Create進行顯示。
DirectShow解決方案執行得非常好,託管到非託管轉換沒什麼大不了的,但花了一段時間才弄清楚了DirectShow圖形構建的細節。
相關問題
- 1. 從WPF MediaElement控件捕獲MediaPlayer異常
- 2. 在框架級別捕獲WPF異常
- 3. WPF mediaelement
- 4. Libfreenect2點雲框架捕獲
- 5. 捕獲時間框架
- 6. 捕獲WPF Listbox複選框選擇
- 7. WPF捕獲文本框onBlur事件
- 8. 捕獲從子框架到父框架的點擊事件
- 9. 捕獲每個()內.on
- 10. 在python中捕獲臉部框架
- 11. 實體框架不捕獲SQL異常
- 12. JavaScript:捕獲Enter鍵沒有JS框架
- 13. 使用AVFoundation框架捕獲overlayimage
- 14. zend框架禁用輸出捕獲
- 15. 框架捕獲IEditableObject.EndEdit中的異常
- 16. MediaElement - 如何獲得FPS(每秒幀數)?
- 17. WPF子頁面獲取父框架
- 18. WPF Multibinding框架4.0
- 19. WPF驗證框架
- 20. WPF的MVC框架
- 21. WPF文本框事件捕獲多個字符
- 22. 捕獲按Ctrl-X一個文本框的WPF
- 23. WPF MediaElement的奇怪行爲
- 24. 需要WPF MediaElement包裝
- 25. WPF,MediaElement和MediaElement.Clip與EllipseGeometry
- 26. WPF:爲什麼MediaElement不玩?
- 27. WPF中的MediaElement支持
- 28. WPF MediaElement,更改音軌
- 29. 下載MediaElement的進度WPF
- 30. WPF MediaElement的全屏控制
+1這很好,但我不確定在獲取每一幀時會有多穩定。我可以根據每秒媒體幀的數量得到一幀定時器發射,但我猜測它仍然容易產生四捨五入誤差和時間變化,以便捕獲和返回幀... – luvieere 2010-06-13 05:36:27
我將修改MediaUriPlayer.cs文件以將SampleGrabber過濾器添加到圖中以接收每個樣本。您可以通過查看VideoCapturePlayer.cs來了解如何執行此操作,因爲它會接收每個樣本。將傳遞的IntPtr轉換爲位圖的代碼位於MediaDetector.cs中。所以簡而言之,我相信我的項目有你需要的所有代碼,但是有一些複製/粘貼重構要做:) – 2010-06-14 21:33:53
WPF媒體工具包已經轉移到https://github.com/Sascha-L/WPF-MediaKit – xmedeko 2017-08-31 09:54:30