共用方式為


IMFSourceReader::SetCurrentMediaType 方法(mfreadwrite.h)

設定數據流的媒體類型。

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

語法

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

參數

[in] dwStreamIndex

串流要設定。 其價值可以是以下任一。

價值觀 Meaning
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 8 之前的版本中重新取樣音訊,可以使用 音訊重取樣器 DSP

如果你在建立 Source Reader 時將 MF_SOURCE_READER_ENABLE_VIDEO_PROCESSING 屬性設為 TRUE,Source Reader 會將 YUV 影片轉換成 RGB-32。 此轉換並未針對即時影片播放進行最佳化。

若安裝了 Windows Vista 平台更新補充包,則可使用此介面。

需求

Requirement 價值觀
最低支援的用戶端 Windows 7、Windows Vista 及 Windows Vista 平台更新補充 [桌面應用程式 |UWP 應用程式]
支援的最低伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
Header mfreadwrite.h

另請參閱

IMFSourceReader

資料來源閱讀