在我的应用程序中,我正在使用Media Foundation从网络摄像头渲染视频。带有视频的窗口是应用程序窗口的一部分,我想从整体上对屏幕截图进行编程。现在,我正在尝试使用经典方法进行屏幕截图(将窗口的dc复制到位图),但视频窗口已从图片中排除。
PS1:当我使用“打印屏幕”按钮为整个应用程序拍照时,它可以工作。包含视频窗口。
PS2:据我了解,Media Foundation使用Direct3D 11渲染视频。
答案 0 :(得分:3)
您应该使用桌面复制API来捕获屏幕截图。复制DC是传统方法,而不是经典方法,并且出于充分的原因可以将视频部分排除在外。
请注意,如果播放器或应用程序明确要求将内容视为受保护的内容(例如,启用DRM的视频播放应用程序或启用DRM的内容的媒体播放器),则即使是台式机复制也可以排除某些部分。