1

当我尝试截取桌面的屏幕截图时,我发现 Windows Media Player 窗口的区域是空的,里面什么都没有,我用谷歌搜索了一段时间,发现大多数视频播放器使用覆盖表面来提高性能,而覆盖表面不能被捕获,所以有些想法说要禁用 DDraw 加速,这样你就可以从实时视频中抓取静止图像,但是当播放器启动时,它已经使用了硬件加速,即使我禁用了硬件加速,它在我重新启动播放器之前不会生效,我的问题是:如何在不禁用 ddraw 加速的情况下从实时视频中捕获图像?或者如何在不重新启动视频播放器的情况下使设置(禁用硬件加速)工作?

  • 我不会用我的程序播放视频,我只想在第三方播放器(如 Windows Media Player 或 Real player 等)播放时拍摄静止图像......
  • 我想以编程方式执行此操作,例如通过 C/C++ 和 DirectX,所以我不想使用任何现有的软件或工具
  • 无论使用哪个播放器,我的程序都应该捕获它,我知道有些工具可以做到这一点,比如CapTrue腾讯 qq,所以我认为可以做到这一点。
4

2 回答 2

1

A workaround can be to use vlc to play your file. It gives a screenshot option in it directly.

于 2012-08-28T15:08:40.693 回答
0

AFAIK,这是 WMP 中的一个有意的“功能”,用于保护。如果您需要 WMP,那么您需要一个不错的屏幕抓取工具。不幸的是,我认识的hypersnap不是免费的。

如果你只想要一个帧的屏幕截图,VLC 是你的朋友,就像@zdd 说的那样。

于 2012-08-28T15:16:46.823 回答