IMFSinkWriter::SetInputMediaType 方法 (mfreadwrite.h)

設定接收寫入器上數據流的輸入格式。

語法

HRESULT SetInputMediaType(
  [in] DWORD         dwStreamIndex,
  [in] IMFMediaType  *pInputMediaType,
  [in] IMFAttributes *pEncodingParameters
);

參數

[in] dwStreamIndex

數據流以零起始的索引。 此索引是由 IMFSinkWriter::AddStream 方法的 pdwStreamIndex 參數所接收。

[in] pInputMediaType

媒體類型的 IMFMediaType 介面指標。 媒體類型會指定輸入格式。

[in] pEncodingParameters

屬性存放區 之 IMFAttributes 介面的指標。 使用屬性存放區來設定編碼器。 此參數可以是 Null

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 Description
S_OK
此方法已成功。
MF_E_INVALIDMEDIATYPE
基礎媒體接收不支援格式、無法轉換,或無法變更動態格式。
MF_E_INVALIDSTREAMNUMBER
dwStreamIndex 參數無效。
MF_E_TOPO_CODEC_NOT_FOUND
找不到編碼格式的編碼器。

備註

輸入格式不需要符合寫入媒體接收的目標格式。 如果格式不相符,此方法會嘗試將可編碼的編碼器從輸入格式載入目標格式。

串流開始之後,也就是在第一次呼叫 IMFSinkWriter::WriteSample 之後,您可以隨時呼叫此方法來變更輸入格式。 不過,基礎編碼器和媒體接收必須支援動態格式變更。

如果已安裝適用於 Windows Vista 的平臺更新補充,此介面可在 Windows Vista 上使用。

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfreadwrite.h

另請參閱

IMFSinkWriter

接收寫入器