我对Interop.quartztypelib在使用c#制作媒体播放器时的奇怪行为感到恼火。借助此链接
http://www.codeproject.com/Articles/2632/DirectShow-MediaPlayer-in-C?msg=4853463#xx4853463xx
我使用Interop.quartztypelib创建了自己的视频播放器。对我来说,实现的一个重要功能是我的应用程序能够捕获视频图像,就像你点击" ALT" +" Printscreen"在Windows中制作活动窗口的屏幕截图。但令人惊讶的是,我发现在我的应用程序捕获的图像中(我使用
Graphics.CopyFromScreen
在我的代码中),视频屏幕上没有视频图像!我得到了我的表格(视频播放器)的图像,但没有正在播放的视频图像!然后点击" ALT" +" Printscreen"只是给了我相同的结果! 我想知道这个Interop.quartztypelib是否不支持图像捕获。有谁知道是否有办法进行设置以启用此功能?感谢。
答案 0 :(得分:0)
你需要实现一些切换覆盖的方法,或者其他一些获得静止的方法。硬件加速有一些技巧,但它并不适合作为应用程序开发人员。你可能不得不过时使用渲染api。
对于OpenGL api,我认为它是glReadPixels。 对于directX here's a SO question。在你的情况下我会猜测它的directX。