使用手動串流選取
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 它已被 Source Reader 和 Sink Writer取代。 來源讀取器 和 接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式碼儘可能使用 Source Reader 和 Sink Writer,取代 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
使用讀取器對象傳遞未壓縮的範例時,您只能透過輸出編號來傳遞它們。 在互斥的數據流的情況下,這表示您在同一時間只能從互斥中的一個數據流接收樣本。 選擇要傳遞哪些互斥數據流的程式稱為數據流選取。
針對比特率互斥,讀取器會根據主計算機上的播放條件自動選取數據流。 針對其他類型的互斥,除非您自行手動選取不同的數據流,否則讀取器會從預設數據流傳遞範例。 當您需要從位元速率互斥選項中手動選擇數據流時,也可能會遇到這種情況。
整份檔案的手動串流選擇功能可以啟用或停用。 如果檔案包含比特率互斥和其他一些互斥類型,您必須手動選取以比特率為基礎的數據流。
若要手動選取互斥數據流,您必須執行下列步驟。
- 呼叫 IWMReader::QueryInterface,擷取讀取器物件的 IWMReaderAdvanced 介面指標。
- 呼叫 IWMReaderAdvanced::SetManualStreamSelection來啟用手動串流選取。
- 若要找出是否已選取特定數據流,請呼叫 IWMReaderAdvanced::GetStreamSelected。 您必須將指標傳遞至 WMT_STREAM_SELECTION 列舉類型的變數。 呼叫傳回時,變數中的值將描述數據流目前的選取類型。
- 若要選取數據流,請呼叫 IWMReaderAdvanced::SetStreamsSelected。 這個方法可讓您同時指定多個數據流進行同步處理數據流切換。
相關主題