撰寫壓縮的範例
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
對於某些音訊或視訊串流,您可能想要傳遞已壓縮的樣本,而不是傳遞原始資料。 這項功能可用來複製現有的資料流程,或撰寫使用協力廠商編解碼器壓縮的樣本。 撰寫壓縮樣本的程式與撰寫未壓縮的樣本相同,不同之處在于您使用 IWMWriterAdvanced::WriteStreamSample ,而不是 IWMWriter::WriteSample。 如需撰寫未壓縮範例的詳細資訊,請參閱 撰寫範例。
當您撰寫壓縮的樣本時,針對 CBR 設定檔,寫入器會在必要時卸載一些樣本,以將內容保留在指定的位元速率和緩衝區視窗值內。 對於 VBR,寫入器不會卸載樣本,但無法確定位元速率和緩衝區視窗值正確無誤。
如果您要將資料流程從一個檔案複製到另一個檔案,您應該一律將資料流程組態物件從原始檔案的配置檔案複製到新檔案的設定檔。 這可確保您有正確的位元速率和緩衝區視窗資訊。 如果您將壓縮資料流程複製到已設定較低緩衝區視窗的資料流程,則會在檔案寫入期間卸載範例。
相關主題