是否有方法来捕获每个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