讀取器物件
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
讀取器物件會從媒體檔案讀取資料範例。 讀取器物件目前支援使用進階系統格式的檔案, (ASF) 檔案結構和 MP3 檔案。 讀取器物件所傳遞的資料預設為未壓縮且可供轉譯,不過可以傳遞樣本,而不需要視需要解壓縮。 範例會以非同步方式從讀取器物件傳遞;您必須設定回呼函式來接收它們。 若要同步播放 ASF 檔案,請使用同步讀取器物件。 讀取器或同步讀取器都不會轉譯任何資料。 您必須提供自己的轉譯常式,以顯示從檔案擷取的媒體。
當檔案包含可透過讀取器物件所支援編解碼器進行解碼的編碼媒體時,您可以控制未壓縮輸出的格式。 若要變更資料流程的解壓縮輸出格式,您必須擷取該資料流程的預設輸出媒體屬性物件、進行變更,然後將它重新指派給讀取器中的資料流程。 輸出媒體屬性物件屬於讀取器物件,而且應該只使用 IWMReader::GetOutputProps 方法建立。
讀取器物件是由 WMCreateReader函式所建立,它會設定 IWMReader 介面的指標。 呼叫 QueryInterface 方法,即可取得讀取器物件的其他介面。
讀取器物件支援下列介面。
介面 | 描述 |
---|---|
IReferenceClock | 提供讀取器所使用的系統時鐘存取權。 |
IWMDRMReader | 管理授權取得、 DRM 屬性和用戶端個人化。 |
IWMDRMReader2 | 提供使用輸出保護層級 (OPL) 來指定許可權的授權存取權。 |
IWMHeaderInfo | 設定和擷取標頭資訊,包括中繼資料、 標記和腳本資料。 |
IWMHeaderInfo2 | 擷取用來編碼檔案內容之編解碼器的相關資訊。 繼承 IWMHeaderInfo的所有方法。 |
IWMHeaderInfo3 | 支援大型屬性大小、重複的屬性名稱和多種語言支援。 繼承 IWMHeaderInfo 和 IWMHeaderInfo2的所有方法。 |
IWMPacketSize | 擷取讀取器中載入之檔案中最大封包的大小。 |
IWMPacketSize2 | 擷取讀取器中載入之檔案中最小封包的大小。 |
IWMProfile | 提供存取讀取器中載入之檔案的設定檔資訊。 |
IWMProfile2 | 擷取與設定檔相關聯的全域唯一識別碼 (GUID) 。 繼承 IWMProfile的所有方法。 |
IWMProfile3 | 支援設定檔中的頻寬共用和串流優先順序資訊。 繼承 IWMProfile 和 IWMProfile2的所有方法。 |
IWMReader | 提供基本檔案讀取功能,包括開啟、關閉、啟動、暫停、繼續、停止和取得和設定輸出屬性等作業。 |
IWMReaderAccelerator | 與 DirectX 視訊加速通訊。 |
IWMReaderAdvanced | 提供讀取器的進階功能,例如使用者提供的時鐘、緩衝區配置、傳回統計資料,以及串流選取通知。 |
IWMReaderAdvanced2 | 提供現有讀取器物件的額外進階方法範圍。 繼承 IWMReaderAdvanced的所有方法。 |
IWMReaderAdvanced3 | 提供進階搜尋和串流控制。 繼承 IWMReaderAdvanced 和 IWMReaderAdvanced2的所有方法。 |
IWMReaderAdvanced4 | 提供進階閱讀程式選項,包括多種語言支援。 繼承 IWMReaderAdvanced、 IWMReaderAdvanced2和 IWMReaderAdvanced3的所有方法。 |
IWMReaderNetworkConfig | 控制網路組態設定。 |
IWMReaderNetworkConfig2 | 提供進階網路組態設定的存取權。 繼承 IWMReaderNetworkConfig的所有方法。 |
IWMReaderStreamClock | 設定和取消資料流程時鐘上的計時器,並擷取指定資料流程時鐘的目前值。 |
IWMReaderTimecode | 提供讀取器中載入之檔案中 SMPTE 時間程式碼範圍的相關資訊。 |
IWMReaderTypeNegotiation | 測試資料流程的輸出屬性變更是否正常運作。 |
您可以在應用程式中實作下列回呼介面,以追蹤讀取器物件的進度。
介面 | 描述 |
---|---|
IWMCredentialCallback | 取得使用者的認證,並檢查他們有權存取遠端網站。 |
IWMReaderAllocatorEx | 提供IWMReaderCallbackAdvanced介面之AllocateForOutput和AllocateForStream方法的擴充替代方案。 |
IWMReaderCallback | 提供IWMReader之Start和Open方法的回呼方法。 |
IWMReaderCallbackAdvanced | 提供 IWMReaderAdvanced 介面方法的回呼方法。 |
IWMStatusCallback | 當狀態資訊必須與主應用程式通訊時需要。 |
相關主題