MediaCapture.SetEncodingPropertiesAsync 方法

定义

异步设置媒体编码属性。

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

注解

此方法设置编码器的编码属性,这些编码器在将数据传递给 显示、写出到 IRandomAccessStreamStorageFile 或传递到自定义媒体接收器之前处理数据。 此方法不会更改数据源的配置,即相机设备。 可以将编码属性设置为相机本身不支持的分辨率。 在这种情况下, MediaCapture 管道将使用编码器执行到请求格式的转换。 请注意,此转换确实会消耗系统资源,并可能导致性能不佳甚至出现错误,尤其是在图形加速受限或没有加速的设备上。 对于典型方案,建议选择最接近所需分辨率的相机支持的分辨率。 可以通过调用 VideoDeviceController.GetAvailableMediaStreamProperties 来获取捕获设备支持的分辨率列表。 有关详细信息,请参阅 设置 MediaCapture 的格式、分辨率和帧速率相机分辨率示例

注意

SetEncodingPropertiesAsync 仅当默认预览流处于流式处理状态时才会成功,即在成功调用 StartPreviewAsync 之后。 如果在 MediaCapture 对象通过 MediaPlayerElementMediaFrameReaderMediaFrameSource 流式传输视频时调用 SetEncodingPropertiesAsync,则此调用将失败。

若要旋转记录或预览流,请使用由 MF_MT_VIDEO_ROTATION 定义的 GUID 将元数据添加到流中。 请注意,此旋转由流的使用者(如 CaptureElement 或视频播放器应用)执行,而流中的实际像素仍保留其原始方向。 有关使用相机时处理方向的操作指南,请参阅 使用 MediaCapture 处理设备方向

若要修改捕获设备的属性,请使用 VideoDeviceController.SetMediaStreamPropertiesAsync

适用于

另请参阅