C# GetPreviewFrameASync参数类型无效
我在UWP工作,并试图使下面的教程示例起作用。总之,我试图从MediaCapture获取一个帧,并将其显示到图像UWP控制元素C# GetPreviewFrameASync参数类型无效,c#,uwp,C#,Uwp,我在UWP工作,并试图使下面的教程示例起作用。总之,我试图从MediaCapture获取一个帧,并将其显示到图像UWP控制元素 var previewProperties = _mediaCapture.VideoDeviceController.GetMediaStreamProperties(MediaStreamType.VideoPreview) as VideoEncodingProperties; VideoFrame videoFrame = new VideoF
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任务等,但无论如何……问题解决了。再次感谢您抽出时间: