没有预览的自动对焦相机
Auto focus camera without preview
我是 运行 Pi 2 上的 Win10 IoT。我需要能够拍摄对焦但无法对焦的照片。该应用程序是一个后台应用程序,所以我无法在显示器上预览相机。有什么办法吗?目前我有
await _mediaCapture.StartPreviewAsync();
_mediaCapture.VideoDeviceController.FocusControl.Configure(new FocusSettings
{
Mode = FocusMode.Continuous,
WaitForFocus = true
});
await _mediaCapture.VideoDeviceController.FocusControl.FocusAsync();
await _mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
await _mediaCapture.StopPreviewAsync();
但我收到错误
WinRT information: Preview sink not set
当我尝试集中注意力时。我在网上看到的所有示例都显示预览输出到控件,我假设它会自动连接一个接收器。有没有办法通过代码手动执行此操作?可能没有预览?
我想知道即使没有 FocusControl
,代码是否也能正常工作。
我建议您按照 http://www.codeproject.com/Tips/772038/Custom-Media-Sink-for-Use-with-Media-Foundation-To
中描述的 Customer Media Sink 实施示例和 StartPreviewToCustomSinkIdAsync
方法的使用
我没有找到执行此操作的方法。我最终将后台应用程序转换为 UI 应用程序,其中 Page
包含 CaptureElement
控件以便预览和聚焦。
无需添加 UI,只需创建一个 CaptureElement 并将源设置为 _mediaCapture
,然后再调用 await _mediaCapture.StartPreviewAsync();
类似于:
_captureElement = new CaptureElement { Stretch = Stretch.Uniform };
_mediaCapture = new MediaCapture();
await _mediaCapture.InitializeAsync(...);
_captureElement.Source = _mediaCapture;
await _mediaCapture.StartPreviewAsync();
我是 运行 Pi 2 上的 Win10 IoT。我需要能够拍摄对焦但无法对焦的照片。该应用程序是一个后台应用程序,所以我无法在显示器上预览相机。有什么办法吗?目前我有
await _mediaCapture.StartPreviewAsync();
_mediaCapture.VideoDeviceController.FocusControl.Configure(new FocusSettings
{
Mode = FocusMode.Continuous,
WaitForFocus = true
});
await _mediaCapture.VideoDeviceController.FocusControl.FocusAsync();
await _mediaCapture.CapturePhotoToStreamAsync(ImageEncodingProperties.CreateJpeg(), stream);
await _mediaCapture.StopPreviewAsync();
但我收到错误
WinRT information: Preview sink not set
当我尝试集中注意力时。我在网上看到的所有示例都显示预览输出到控件,我假设它会自动连接一个接收器。有没有办法通过代码手动执行此操作?可能没有预览?
我想知道即使没有 FocusControl
,代码是否也能正常工作。
我建议您按照 http://www.codeproject.com/Tips/772038/Custom-Media-Sink-for-Use-with-Media-Foundation-To
中描述的 Customer Media Sink 实施示例和StartPreviewToCustomSinkIdAsync
方法的使用
我没有找到执行此操作的方法。我最终将后台应用程序转换为 UI 应用程序,其中 Page
包含 CaptureElement
控件以便预览和聚焦。
无需添加 UI,只需创建一个 CaptureElement 并将源设置为 _mediaCapture
,然后再调用 await _mediaCapture.StartPreviewAsync();
类似于:
_captureElement = new CaptureElement { Stretch = Stretch.Uniform };
_mediaCapture = new MediaCapture();
await _mediaCapture.InitializeAsync(...);
_captureElement.Source = _mediaCapture;
await _mediaCapture.StartPreviewAsync();