共用方式為


IMFSourceReader::SetStreamSelection 方法(mfreadwrite.h)

選取或取消選取一或多個數據流。

語法

HRESULT SetStreamSelection(
  [in] DWORD dwStreamIndex,
  [in] BOOL  fSelected
);

參數

[in] dwStreamIndex

直播到片場。 其價值可以是以下任一。

價值觀 Meaning
0–0xFFFFFFFB
溪流的零基指數。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
第一段影片串流。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
第一段音訊串流。
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
所有流派。

[in] fSelected

選擇串流時設定 TRUE ,取消選取串流時設定 FALSE 。 如果串流被取消選取,它將不會產生資料。

返回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

此方法有兩種常見用途:

  • 要更改預設的串流選擇。 有些媒體檔案包含多個相同類型的串流。 例如,一個檔案可能包含多種語言的音訊串流。 你可以用這個方法改變選擇的串流。 如需查詢每個串流資訊,請致電 IMFSourceReader::GetPresentationAttributeIMFSourceReader::GetNativeMediaType
  • 如果你不需要某個串流的資料,建議取消選取該串流。 如果選擇了串流,媒體來源可能會保留一個未讀取資料的佇列,而佇列可能會無限增加,消耗記憶體。
關於取消選取串流的範例,請參見 教學:音訊解碼

如果某串流被取消選取, IMFSourceReader::ReadSample 方法會回傳該串流的 MF_E_INVALIDREQUEST 。 其他 IMFSourceReader 方法適用於取消選取的流。

串流選擇不會影響原始碼讀取器在記憶體中的載入或卸載解碼器。 特別地,取消選擇串流不會強制原始碼讀取器卸載該串流的解碼器。

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

需求

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

另請參閱

IMFSourceReader

資料來源閱讀