MediaCapture.SetEncodingPropertiesAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
异步设置媒体编码属性。
public:
virtual IAsyncAction ^ SetEncodingPropertiesAsync(MediaStreamType mediaStreamType, IMediaEncodingProperties ^ mediaEncodingProperties, MediaPropertySet ^ encoderProperties) = SetEncodingPropertiesAsync;
IAsyncAction SetEncodingPropertiesAsync(MediaStreamType const& mediaStreamType, IMediaEncodingProperties const& mediaEncodingProperties, MediaPropertySet const& encoderProperties);
public IAsyncAction SetEncodingPropertiesAsync(MediaStreamType mediaStreamType, IMediaEncodingProperties mediaEncodingProperties, MediaPropertySet encoderProperties);
function setEncodingPropertiesAsync(mediaStreamType, mediaEncodingProperties, encoderProperties)
Public Function SetEncodingPropertiesAsync (mediaStreamType As MediaStreamType, mediaEncodingProperties As IMediaEncodingProperties, encoderProperties As MediaPropertySet) As IAsyncAction
参数
- mediaStreamType
- MediaStreamType
流表示的媒体数据类型,例如视频或音频。
- mediaEncodingProperties
- IMediaEncodingProperties
媒体编码的属性。
- encoderProperties
- MediaPropertySet
编码器的属性。
返回
用于控制异步操作的对象。
Windows 要求
应用功能 |
backgroundMediaRecording
|
注解
此方法设置编码器的编码属性,这些编码器在将数据传递给 要 显示、写出到 IRandomAccessStream 或 StorageFile 或传递到自定义媒体接收器之前处理数据。 此方法不会更改数据源的配置,即相机设备。 可以将编码属性设置为相机本身不支持的分辨率。 在这种情况下, MediaCapture 管道将使用编码器执行到请求格式的转换。 请注意,此转换确实会消耗系统资源,并可能导致性能不佳甚至出现错误,尤其是在图形加速受限或没有加速的设备上。 对于典型方案,建议选择最接近所需分辨率的相机支持的分辨率。 可以通过调用 VideoDeviceController.GetAvailableMediaStreamProperties 来获取捕获设备支持的分辨率列表。 有关详细信息,请参阅 设置 MediaCapture 的格式、分辨率和帧速率 和 相机分辨率示例。
注意
SetEncodingPropertiesAsync 仅当默认预览流处于流式处理状态时才会成功,即在成功调用 StartPreviewAsync 之后。 如果在 MediaCapture 对象通过 MediaPlayerElement 或 MediaFrameReader 从 MediaFrameSource 流式传输视频时调用 SetEncodingPropertiesAsync,则此调用将失败。
若要旋转记录或预览流,请使用由 MF_MT_VIDEO_ROTATION 定义的 GUID 将元数据添加到流中。 请注意,此旋转由流的使用者(如 CaptureElement 或视频播放器应用)执行,而流中的实际像素仍保留其原始方向。 有关使用相机时处理方向的操作指南,请参阅 使用 MediaCapture 处理设备方向。
若要修改捕获设备的属性,请使用 VideoDeviceController.SetMediaStreamPropertiesAsync。