【发布时间】:2014-08-04 15:31:31
【问题描述】:
我想使用 DirectShow 渲染和录制来自模拟摄像机的视频。当我将渲染器窗口从一个监视器移动到另一个监视器时,图形会重新启动,并且重新启动图形会导致记录丢失。为了避免这种情况,我开始使用 GMFBridge。我对视频进行编码并将其写入文件并使用 Infinite Tee,我将帧传递给第二个图形,其中存在渲染器。所以当渲染器图重新启动时,我的记录图不会影响。
但是当我将窗口移动到另一个监视器时,第二个图形(渲染器图形)停止,我看到的只是黑屏。为什么使用 GMFBridge 时渲染器图在停止后不启动?
我认为我应该处理事件。我发现当我将窗口移动到另一台显示器时,我会收到以下消息:
#define EC_VMR_RENDERDEVICE_SET 0x53
#define EC_PAUSED 0x0E
但我不知道处理这些消息是否正确(以了解监视器更改)。
【问题讨论】:
标签: c# video directshow renderer directshow.net