Directx.Capture 如何设置分辨率

Directx.Capture How to set resolution

所以,我正在阅读一篇文章(这篇文章:https://dashingquill.wordpress.com/2012/06/27/capturing-webcam-using-directshow-net-library/),我下载它来研究代码。

我正在尝试实施此更改(制作 1920x1080 视频):

            capture.FrameRate = 29.997;
            capture.FrameSize = new Size(1920, 1080);
            capture.AudioSamplingRate = 44100;
            capture.AudioSampleSize = 16;

但我要问你的是我在代码中的什么地方应用这些代码? 我尝试在这里申请:

    void preview()
    {
        try
        {

                capture = new Capture(filters.VideoInputDevices[0], filters.AudioInputDevices[0]);
                capture.FrameRate = 29.997;
                capture.FrameSize = new Size(1920, 1080);
                capture.AudioSamplingRate = 44100;
                capture.AudioSampleSize = 16;
                capture.PreviewWindow = panel1;

但是当我这样做时发生了一些有趣的事情,只有当我点击 "stop" 任何不同的东西时,我的视频才会是 (1920x1080) 使预览视频 "weird"(不是 192x1080)。

你能帮我吗?

Aa,另一个问题。如果我想捕获一个单帧,比如图片,我该如何使用该代码来实现?

谢谢你和 osrry 我的英语不好。这不是我的母语。

我自己找到了解决方案。 好吧,显然我所做的是正确的,但我在调试模式下 运行。当对 realese 的更改工作正常并且帧大小设置正确时。