共用方式為


Reader 物件

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器接收寫入器已取代它。 來源讀取器接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 來源讀取器接收寫入器,而不是 Windows Media Format 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 支援配置檔中的頻寬共用和串流優先順序資訊。 繼承 IWMProfileIWMProfile2的所有方法。
IWMReader 提供基本的檔案讀取功能,包括開啟、關閉、啟動、暫停、繼續、停止和取得和設定輸出屬性等作業。
IWMReaderAccelerator 與 DirectX 視訊加速通訊。
IWMReaderAdvanced 提供讀取器的進階功能,例如使用者提供的時鐘、緩衝區配置、傳回統計數據,以及串流選取通知。
IWMReaderAdvanced2 為現有的讀取器物件提供其他進階方法範圍。 繼承 IWMReaderAdvanced的所有方法。
IWMReaderAdvanced3 提供進階搜尋和串流控制。 繼承 IWMReaderAdvancedIWMReaderAdvanced2的所有方法。
IWMReaderAdvanced4 提供進階閱讀程式選項,包括多種語言支援。 繼承 IWMReaderAdvancedIWMReaderAdvanced2IWMReaderAdvanced3的所有方法。
IWMReaderNetworkConfig 控制網路組態設定。
IWMReaderNetworkConfig2 提供進階網路組態設定的存取權。 繼承 IWMReaderNetworkConfig 的所有方法。
IWMReaderStreamClock 設定和取消數據流時鐘上的定時器,並擷取指定數據流時鐘的目前值。
IWMReaderTimecode 提供讀取器中載入之檔案中 SMPTE 時間程式代碼範圍的相關信息。
IWMReaderTypeNegotiation 測試數據流的輸出屬性變更是否正常運作。

 

下列回呼介面可以在應用程式中實作,以追蹤讀取器對象的進度。

介面 描述
IWMCredentialCallback 取得使用者的認證,並檢查他們是否有權存取遠端月臺。
IWMReaderAllocatorEx 提供 IWMReaderCallbackAdvanced 介面之 AllocateForOutputAllocateForStream 方法的擴充替代方案。
IWMReaderCallback 提供 StartOpenIWMReader方法的回呼方法。
IWMReaderCallbackAdvanced 提供 IWMReaderAdvanced 介面之方法的回呼方法。
IWMStatusCallback 當狀態信息必須與主應用程式通訊時需要。

 

物件

讀取 ASF 檔案

同步讀取器物件