Share via


IMFSourceReader::SetCurrentMediaType 方法 (mfreadwrite.h)

設定數據流的媒體類型。

此媒體類型會定義 來源讀取器 產生為輸出的格式。 它可能與媒體來源所提供的原生格式不同。 如需詳細資訊,請參閱「備註」。

語法

HRESULT SetCurrentMediaType(
  [in]      DWORD        dwStreamIndex,
  [in, out] DWORD        *pdwReserved,
  [in]      IMFMediaType *pMediaType
);

參數

[in] dwStreamIndex

要設定的數據流。 此值可以是下列任一項。

意義
0–0xFFFFFFFB
數據流以零起始的索引。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
第一個視訊串流。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
第一個音訊數據流。

[in, out] pdwReserved

保留的。 設定為 NULL

[in] pMediaType

媒體類型 之 IMFMediaType 介面的指標。

傳回值

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

傳回碼 Description
S_OK
此方法已成功。
MF_E_INVALIDMEDIATYPE
在原生數據流類型中找到至少一個譯碼器,但 pMediaType 指定的類型遭到拒絕。
MF_E_INVALIDREQUEST
一或多個範例要求仍在擱置中。
MF_E_INVALIDSTREAMNUMBER
dwStreamIndex 參數無效。
MF_E_TOPO_CODEC_NOT_FOUND
找不到原生數據流類型的譯碼器。

備註

針對每個資料流,您可以將媒體類型設定為下列任一項:

  • 媒體來源所提供的其中一種原生類型。 若要列舉原生類型,請呼叫 IMFSourceReader::GetNativeMediaType
  • 如果原生媒體類型已壓縮,您可以指定對應的未壓縮格式。 來源讀取器會搜尋可從原生格式譯碼為指定未壓縮格式的譯碼器。
音訊重新取樣支援已新增至具有 Windows 8 的來源讀取器。 在 Windows 8 之前的 Windows 版本中,來源讀取器不支援音訊重新取樣。 如果您需要在早於 Windows 8 的 Windows 版本中重新取樣音訊,您可以使用 Audio Resampler DSP

如果您在建立來源讀取器時 將 MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING 屬性設定為 TRUE ,來源讀取器會將 YUV 視訊轉換成 RGB-32。 此轉換並未針對即時視訊播放進行優化。

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

規格需求

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

另請參閱

IMFSourceReader

來源讀取器