共用方式為


配置 檔

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器接收寫入器已取代它。 來源讀取器接收寫入器 已針對 Windows 10 和 Windows 11 優化。 Microsoft強烈建議新程式代碼盡可能使用 來源讀取器接收寫入器,而不是 Windows Media Format 11 SDK。 Microsoft建議使用舊版 API 的現有程式代碼,盡可能改寫成使用新的 API。]

配置檔是描述 ASF 檔案組態的數據集合。 配置檔至少必須包含單一數據流的組態設定。

配置檔中的數據流資訊包含數據流的比特率、緩衝區窗口和媒體屬性。 音訊和視訊的串流資訊會確切描述媒體在檔案中的設定方式,包括將使用哪些編解碼器(如果有的話)來壓縮數據。

配置檔也包含各種 ASF 檔案功能的相關信息,這些功能將用於與它一起建立的檔案中。 其中包括 互斥數據流優先順序頻寬共用,以及 數據單位延伸模組

舊版的 Windows 媒體格式 SDK 提供預先設定的系統配置檔,可用來建立一般類型的檔案,或稍微改變以符合應用程式的需求。 Windows Media 9 系列編解碼器不支援系統配置檔。 這是因為隨著新增新功能,檔案的「一般」類型數目呈指數增長。 預期幾乎每個內容建立者都需要超越系統配置檔所提供的簡單解決方案。 您仍然可以使用舊的系統配置檔作為起點。 如需詳細資訊,請參閱使用系統設定檔

您必須為寫入的每個檔案提供寫入器設定檔。 您可以呼叫 IWMWriter::SetProfile來指定要與寫入器搭配使用的設定檔。

配置文件數據存在於數種不同的表單中,可供 Windows 媒體格式 SDK 使用。 配置檔資訊也可以透過數種方式來存取。 這可能會導致配置文件是什麼,以及其使用方式的混淆。

下圖顯示 SDK 中的設定檔資料使用方式。

顯示配置檔資訊流程的圖表。

配置檔數據採用三種不同的形式:應用程式配置檔物件內所包含的數據、磁碟上的 XML 檔案,以及 ASF 檔案標頭中的數據。 這些數據形式的每一種都會顯示為圖表中的陰影矩形。

Profile 對象中的數據

當您編輯設定檔時,您可以使用設定檔物件來封裝所有設定檔資料。 您可以使用設定檔管理員物件來建立空的設定檔物件。 您也可以使用設定檔管理員物件,將現有的設定檔數據載入設定檔物件。

大部分的配置文件數據都必須透過使用代表配置檔個別部分的物件來新增和作。 其中包括數據流組態物件、互斥物件、頻寬共享物件,以及數據流優先順序物件。 您可以使用設定檔物件中的方法建立這些物件類型。 對這些物件進行變更不會影響配置檔物件,直到您在配置檔物件中使用 方法以包含來自其他物件的更新數據為止。

XML 檔案中的數據

配置檔數據會以擴展名為 .prx 的 XML 檔案形式儲存在磁碟上。 Windows Media Format SDK 隨附於稱為系統配置檔的配置檔集合,其中涵蓋最常見的 ASF 檔案類型。 系統配置檔會儲存在名為 WMSysPr9.prx 的檔案中。 (請注意,此檔案實際上不包含 Windows Media 9 系列的系統配置檔,因為系統配置檔的概念已不再使用。當您儲存自己的自訂設定檔時,您必須將它們儲存到您自己的檔案。

您可以使用設定檔管理員物件將資料從設定檔物件儲存到 XML 文字字串。 然後,您可以使用任何您想要的檔案 I/O 函式,將字串儲存到磁碟上的檔案。

ASF 檔案標頭中的數據

寫入器會從配置檔擷取資訊,並用它來建立進入 ASF 檔案數據區段的數據流。 檔案寫入時,大部分的配置檔數據會儲存在檔案的標頭區段中。 在播放時,讀取器物件(或同步讀取器物件)可以存取檔案標頭中的資訊。 在此情況下,讀取物件會建立配置檔物件,並填入標頭中的數據。

當您使用讀取器(或同步讀取器)存取設定檔數據時,您可以變更設定檔資訊,但無法將這些變更套用至讀取器中的檔案。 您可以從讀取器中的檔案將配置檔資訊套用至寫入器中的配置檔,以建立與讀取器中檔案相同的設定的新檔案。 在此情況下,您在設定寫入器中設定檔之前對配置檔資訊所做的任何變更,都會反映在寫入器所註冊的配置檔資訊中。

使用設定檔編輯器

您可以使用配置檔編輯器,這是 Windows 媒體編碼器隨附的公用程式,而不是使用 Windows 媒體格式 SDK 來建立設定檔。 在您的編碼應用程式中,使用 IWMProfileManager::LoadProfileByData 方法來載入已儲存的設定檔。 在某些情況下,例如,如果您使用一些從未動態修改過的有限配置檔,則使用配置檔編輯器來建立配置檔可能比較方便。

不過,如果您使用配置檔編輯器,建議您不要使用 [視訊大小:與視訊輸入相同] 設定。 核取此複選框時,[配置文件編輯器] 會建立配置檔,並將影片輸出高度和寬度設定為零。 當 Windows 媒體編碼器遇到這些設定檔時,它會設定正確的值以符合其視訊輸入。 不過,Windows 媒體格式 SDK 中的寫入器不會自動執行,因此您必須確定應用程式會在設定檔沒有的情況下設定視訊畫面大小。

注意 部分數據流組態專案不會儲存在配置檔中。 配置檔中的數據描述已完成 ASF 檔案的格式。 寫入器物件用來設定編解碼器的輸入媒體屬性和其他組態數據不會儲存在配置檔中。 這包括使用 IWMPropertyVault::SetProperty 方法所設定的所有屬性。

頻寬共享物件

概念

IWMProfile 介面

IWMProfileManager 介面

互斥物件

Profile Manager 物件

Stream 組態物件

數據流優先順序物件

使用配置檔