[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 資料來源讀取器 和 資料寫入器已經取代了它。 來源讀取器 和 接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft 強烈建議在可能的情況下,新程式碼使用 Source Reader 和 Sink Writer,而非 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]
在正常情況下,讀取器物件和同步讀取器對象都會針對傳遞至應用程式的每個範例建立新的緩衝區物件。 這是因為讀取物件在取得範例之後,無法知道應用程式對範例的用途。 即使許多應用程式只讀取範例,才能立即轉譯它們,但某些應用程式可能需要長時間維護範例。 因此,讀取對象無法重複使用它配置的任何緩衝區;它會將它們傳遞給您的應用程式,然後可控制它們。
這種方法的問題在於檔案可以包含大量的樣本。 如果每個它們都需要建立新的緩衝區物件,將會浪費大量處理器時間來配置和釋放記憶體。 在時間敏感的應用程式中,例如媒體播放機,此額外負荷可能會非常不利於效能。
為了改善讀取器配置樣本的效能問題,讀取器和同步讀取器現在都支援由使用者分配的樣本。 若要使用應用程式所配置的範例,讀取物件會呼叫您實作的範例配置回呼方法。 回呼用來將緩衝區傳遞至讀取對象的邏輯完全由您決定。 您可以使用整個檔案的緩衝區集區,或使用多個緩衝區集區,每個輸出或數據流各自有一個緩衝區集區,或適用於應用程式的任何其他方案。
相關主題