讀取 ASF 檔案
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 11 SDK。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。
Windows 媒體格式 SDK 可用來從 ASF 檔案傳遞媒體範例。 使用兩個物件來擷取樣本、讀取器物件和同步讀取器物件。
讀取器物件是 Windows 媒體格式 SDK 中的原始讀取物件。 讀取器物件會使用非同步架構,將範例推送至應用程式。 使用讀取器物件建置的應用程式必須實作回呼函式,以回應這個多執行緒模型所產生的各種訊息和事件。 為了清楚起見,本節會將讀取器物件稱為非同步讀取器。
同步讀取器物件是這個版本的 Windows 媒體格式 SDK 的新功能。 同步讀取器不會在處理 ASF 檔案中的範例中使用多個執行緒。 使用同步讀取器建置的應用程式會視需要擷取樣本,而不是等候讀取器傳送它們。
建立應用程式以讀取 ASF 檔案時,您必須選擇要使用的讀取器物件。 一般而言,設計用來傳遞 Windows 媒體內容的應用程式應該使用非同步讀取器來建立,而設計來編輯 ASF 檔案的應用程式應該使用同步讀取器來建立。
下表列出這兩個讀取器物件的主要功能。 使用此資料表可協助判斷要用於應用程式的物件。
功能 | 非同步讀取器 | 同步讀取器 |
---|---|---|
依輸出編號讀取未壓縮的範例 | 是 | 是 |
依資料流程編號讀取壓縮的樣本 | 是 | 是 |
依資料流程編號讀取未壓縮的範例 | 否 | 是 |
從網際網路網站讀取 | 是 | 否 |
讀取中繼資料 | 是 | 是 |
搜尋簡報時間 | 是 | 是 |
搜尋框架 | 是 | 是 |
搜尋標記 | 是 | 否 |
在播放期間切換壓縮和未壓縮的範例傳遞 | 否 | 是 |
使用 IStream 介面開啟檔案 | 是 | 是 |
下列各節提供有關使用兩個讀取器物件的詳細資訊。
區段 | 描述 |
---|---|
使用輸出 | 描述如何使用及操作輸出。 適用于這兩個讀取器物件。 |
配置檔案讀取的緩衝區 | 描述如何使用您自己的緩衝區集區來保存讀取器或同步讀取器所傳遞的樣本。 |
在播放時讀取中繼資料 | 描述如何在播放時利用中繼資料支援。 適用于這兩個讀取器物件。 |
在播放時取得設定檔資訊 | 描述如何存取已開啟檔案的設定檔資訊。 適用于這兩個讀取器物件。 |
讀取多通道音訊 | 描述如何設定寫入器以正確解碼多重通道音訊。 |
轉譯內容 | 討論轉譯未壓縮範例的相關問題。 適用于這兩個讀取器物件。 |
取得最佳影片搜尋效能 | 描述改善影片搜尋效能的方式。 |
使用非同步讀取器讀取檔案 | 描述如何使用非同步讀取器物件讀取 ASF 檔案。 |
使用同步讀取器讀取檔案 | 描述如何使用同步讀取器物件讀取 ASF 檔案。 |
啟用 DirectX 視訊加速 | 描述如何實作 DirectX 影片加速,以使用某些視訊卡的硬體加速功能來解碼視訊。 |
相關主題