MediaCapture.SetEncoderProperty(MediaStreamType, Guid, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
設定編碼屬性。
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,並在取得記錄或預覽開始完成回呼之前呼叫 SetEncoderProperty,則會收到 MF_E_INVALIDREQUEST 錯誤,因為屬性無法套用至靜態或動態設定。
若要旋轉預覽資料流程,請使用定義為MF_MT_VIDEO_ROTATION的GUID。 如需使用相機時處理方向的操作指南,請參閱 使用 MediaCapture 處理裝置方向。