Share via


MediaCapture.SetEncoderProperty(MediaStreamType, Guid, Object) 方法

定义

设置编码属性。

public:
 virtual void SetEncoderProperty(MediaStreamType mediaStreamType, Platform::Guid propertyId, Platform::Object ^ propertyValue) = SetEncoderProperty;
void SetEncoderProperty(MediaStreamType const& mediaStreamType, winrt::guid const& propertyId, IInspectable const& propertyValue);
public void SetEncoderProperty(MediaStreamType mediaStreamType, Guid propertyId, object propertyValue);
function setEncoderProperty(mediaStreamType, propertyId, propertyValue)
Public Sub SetEncoderProperty (mediaStreamType As MediaStreamType, propertyId As Guid, propertyValue As Object)

参数

mediaStreamType
MediaStreamType

流表示的媒体数据类型,例如视频或音频。

propertyId
Guid

Platform::Guid

winrt::guid

要设置的编码属性。

propertyValue
Object

Platform::Object

IInspectable

编码属性的新值。

Windows 要求

应用功能
backgroundMediaRecording microphone webcam

注解

如果编码器属性仅应用于记录接收器中的音频编码器,则只能调用 MediaStreamType 等于 MediaStreamType.Audio 的 SetEncoderProperty。 预览接收器不允许使用压缩音频设置编码配置文件。

对于非 H.264 相机,在开始录制或预览之前调用 SetEncoderProperty 时, 属性将存储在本地。 开始录制时, 属性将在编码器初始化时应用于编码器。 若要配置静态编码属性,必须在开始录制或预览之前调用 SetEncoderProperty。 在开始录制或预览之前, GetEncoderProperty 将返回本地存储的 属性值。

如果相机是 H.264 相机,并且调用 SetEncoderProperty 的流的类型为 MediaStreamType.VideoRecord,则 属性将直接应用于相机。 在录制开始之前和之后都是如此。

对于非 H.264 相机,在获取记录或预览开始完成回调后调用 SetEncoderProperty 时,直接在编码器上设置 属性,因此用于配置动态编码属性。

如果在发出开始录制或预览的调用后以及获取记录或预览开始完成回调之前调用 SetEncoderProperty,则会收到 MF_E_INVALIDREQUEST 错误,因为 属性不能应用于静态设置或动态设置。

若要旋转预览流,请使用定义为 MF_MT_VIDEO_ROTATIONGUID。 有关使用相机时处理方向的操作指南,请参阅 使用 MediaCapture 处理设备方向

适用于