C# GetPreviewFrameASync参数类型无效

C# GetPreviewFrameASync参数类型无效,c#,uwp,C#,Uwp,我在UWP工作,并试图使下面的教程示例起作用。总之,我试图从MediaCapture获取一个帧,并将其显示到图像UWP控制元素 var previewProperties = _mediaCapture.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview) as VideoEncodingProperties; VideoFrame videoFrame = new VideoF

我在UWP工作,并试图使下面的教程示例起作用。总之,我试图从MediaCapture获取一个帧,并将其显示到图像UWP控制元素

 var previewProperties = _mediaCapture.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview) as VideoEncodingProperties;
        VideoFrame videoFrame = new VideoFrame(BitmapPixelFormat.Bgra8, (int)previewProperties.Width, (int)previewProperties.Height);
        var source = new SoftwareBitmapSource();

        var previewFrame = await _mediaCapture.GetPreviewFrameAsync(videoFrame);


        SoftwareBitmap previewBitmap = videoFrame.SoftwareBitmap;
        await source.SetBitmapAsync(previewBitmap);
        img.Source = source;
当执行GetPreviewFrameASync函数时,我会收到一个运行时异常,该异常引用无效的参数类型。以前有没有人遇到过同样的问题?原因是什么


提前感谢

我已经测试了您的段代码并重现了您的问题,问题是在执行GetPreviewFrameASync方法之前您还没有开始预览。以下是开始预览的方法

private async Task StartPreviewAsync()
 {
     try
     {
         _mediaCapture = new MediaCapture();
         await _mediaCapture.InitializeAsync();
         _displayRequest.RequestActive();
         DisplayInformation.AutoRotationPreferences = DisplayOrientations.Landscape;
     }
     catch (UnauthorizedAccessException)
     {

     }
     try
     {
         PreviewControl.Source = _mediaCapture;
         await _mediaCapture.StartPreviewAsync();
         _isPreviewing = true;
     }
     catch (System.IO.FileLoadException)
     {

     }
 }

有关更多信息,请参阅。我已经上传到github了。请检查

结果是我的代码绝对没有问题,但不知怎么的,相机应该为错误负责。许多其他运行我的项目的人都没有问题,当我更换相机时,一切都很好。如果你不幸遇到同样的问题,请尝试用另一个摄像头运行它。

首先非常感谢你的回答和时间!我在我的代码中写了完全相同的代码,并得到了我发布的错误。我甚至通过复制xaml和cs在Github测试了您的代码示例,因为我下载的项目需要我安装SDK,相机的预览与我的一样正常,但当我单击CapturePhoto时,每次参数不正确时都会出现相同的异常。你知道是什么导致了这个问题吗?一切似乎都很好。再次提前感谢。代码示例在我这边运行良好。请尝试将您的版本更新到10.0.15063.468,以排除sdk问题。我进行了更新,但未做任何更改。然后,一位朋友提到可能是相机的兼容性问题,因为它适合他。它也适用于其他人,然后我改变了我的相机,为我工作。我不知道我的旧相机出了什么问题,因为它执行了我之前写的所有MediaCapture任务等,但无论如何……问题解决了。再次感谢您抽出时间: