閱讀英文

共用方式為


Profiles

[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows 媒體格式 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 媒體格式 SDK 來建立設定檔,這是 Windows 媒體編碼器隨附的公用程式。 在編碼應用程式中,使用 IWMProfileManager::LoadProfileByData 方法載入已儲存的設定檔。 在某些情況下,例如,如果您使用從未動態修改的有限設定檔數目,使用設定檔編輯器來建立設定檔可能會比較方便。

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

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

頻寬共用物件

概念

IWMProfile 介面

IWMProfileManager 介面

相互排除物件

設定檔管理員物件

串流設定物件

資料流程優先順序物件

使用設定檔