CameraPreviewImageSource.StartPreviewAsync 不适用于 videoEncodingProperties
CameraPreviewImageSource.StartPreviewAsync doesn't work with videoEncodingProperties
我正在使用 CameraPreviewImageSource.PreviewFrameAvailable
事件通过计算每帧的平均亮度来确定闪光。
出于我的目的,我不需要大框架,但使用默认设置 StartPreviewAsync()
方法生成大小为 1280*720px 的框架。
我尝试使用 StartPreviewAsync(videoEncodingProperties)
但每次出现异常 HRESULT:0x80040155 Interface not registered
.
我可以通过底层 VideoDeviceController
对象设置预览帧大小,但它看起来有点过于复杂,特别是考虑到我必须按照神奇确定的顺序设置属性(否则相机会在退出后损坏应用程序)。
await App.CameraPreviewImageSource.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, _previewProperties);
var properties = await App.CameraPreviewImageSource.StartPreviewAsync();
properties.Width = _previewProperties.Width;
properties.Height = _previewProperties.Height;
是我做错了什么,还是 SDK 中的 StartPreviewAsync(videoEncodingProperties)
方法根本不起作用?
好吧,"right" 命令序列解决了问题:
var properties = await App.CameraPreviewImageSource.StartPreviewAsync();
await App.CameraPreviewImageSource.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, _previewProperties);
properties.Width = _previewProperties.Width;
properties.Height = _previewProperties.Height;
我正在使用 CameraPreviewImageSource.PreviewFrameAvailable
事件通过计算每帧的平均亮度来确定闪光。
出于我的目的,我不需要大框架,但使用默认设置 StartPreviewAsync()
方法生成大小为 1280*720px 的框架。
我尝试使用 StartPreviewAsync(videoEncodingProperties)
但每次出现异常 HRESULT:0x80040155 Interface not registered
.
我可以通过底层 VideoDeviceController
对象设置预览帧大小,但它看起来有点过于复杂,特别是考虑到我必须按照神奇确定的顺序设置属性(否则相机会在退出后损坏应用程序)。
await App.CameraPreviewImageSource.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, _previewProperties);
var properties = await App.CameraPreviewImageSource.StartPreviewAsync();
properties.Width = _previewProperties.Width;
properties.Height = _previewProperties.Height;
是我做错了什么,还是 SDK 中的 StartPreviewAsync(videoEncodingProperties)
方法根本不起作用?
好吧,"right" 命令序列解决了问题:
var properties = await App.CameraPreviewImageSource.StartPreviewAsync();
await App.CameraPreviewImageSource.VideoDeviceController.SetMediaStreamPropertiesAsync(MediaStreamType.VideoPreview, _previewProperties);
properties.Width = _previewProperties.Width;
properties.Height = _previewProperties.Height;