ASF 標頭物件的媒體基礎屬性

檔案的最上層 ASF 標頭物件包含數個 ASF 子標頭物件。 ContentInfo 物件會儲存所有這些 Header Objects 中的資訊,並透過屬性向應用程式公開特定值。

File Properties 物件

此標頭物件存在於所有 ASF 檔案中。 這些欄位描述整個簡報的檔案層級屬性。 下表列出 [檔案屬性物件] 和對應之簡報描述元屬性中的欄位。

[檔案屬性物件] 欄位 簡報描述元屬性 描述
檔案識別碼 MF_PD_ASF_FILEPROPERTIES_FILE_ID 這個檔案的唯一識別碼。
檔案大小 MF_PD_TOTAL_FILE_SIZE 檔案大小,以位元組為單位。
建立日期 MF_PD_ASF_FILEPROPERTIES_CREATION_TIME 檔案建立日期和時間。
資料封包計數 MF_PD_ASF_FILEPROPERTIES_PACKETS ASF 資料物件中的資料封包數目。
播放持續時間 MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION 播放檔案所需的時間,以 100 奈秒為單位。 此值包含預先註冊時間。
傳送持續時間 MF_PD_ASF_FILEPROPERTIES_SEND_DURATION 傳送檔案所需的時間,以 100 奈秒為單位。
預先註冊 MF_PD_ASF_FILEPROPERTIES_PREROLL 在播放檔案之前緩衝資料的時間長度,以 100 奈秒為單位。
Flags MF_PD_ASF_FILEPROPERTIES_FLAGS 指出檔案是廣播還是可搜尋的旗標。
資料封包大小下限 MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE 檔案中的資料封包大小下限,以位元組為單位。
資料封包大小上限 MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE 檔案中的資料封包大小上限,以位元組為單位。
最大位元速率 MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE 最大瞬間位速率,以每秒的位數為單位。

 

Stream Properties 物件

這個標頭物件描述 ASF 檔案中資料流程的屬性。 在媒體基礎中,這是由設定檔物件和資料流程組態物件所管理。 如需詳細資訊,請參閱 建立和設定 ASF 資料流程

Codec List 物件

如果存在此標頭物件, MF_PD_ASF_CODECLIST 屬性會提供編解碼器清單,用來編碼 ASF 檔案內的資料流程。 每個資料流程都應該在此物件中有其編解碼器資訊。

Script Command 物件

如果存在此標頭物件,它會指定 ASF 檔案中支援的指令碼命令清單。 指令碼命令包含命令類型、命令名稱和簡報時間。 命令類型和命令名稱是寬字元字串。 這些命令可用來通知用戶端在簡報中的特定時間點執行動作。 例如,應用程式可以使用命令類型 「FILENAME」 來播放 ASF 檔案的連續序列。

若要取得指令碼命令清單,請從簡報描述項取得 MF_PD_ASF_SCRIPT 屬性。 應用程式應該先擷取所有指令碼命令,再開始播放。

Marker 物件

標記是 ASF 檔案內的書簽。 應用程式可以使用標記來搜尋內容內的各種點。 每個標記都包含標記名稱、相關聯的呈現時間,以及檔案開頭的位移。 MF_PD_ASF_MARKER屬性提供檔案可用的標記清單。

資料流程位元速率屬性物件

此標頭會儲存 ASF 檔案中每個資料流程的平均位元速率。 此值會儲存在 MF_SD_ASF_STREAMBITRATES_BITRATE 屬性中資料流程的資料流程描述元上。

內容加密物件

如果內容提供者已使用 Microsoft Digital Rights Management 保護內容,則會出現此標頭物件。 下表列出內容加密物件和對應的簡報描述元屬性中的欄位:

內容加密物件欄位 簡報描述元屬性 描述
秘密資料 MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA 包含秘密資料的位元組陣列。
保護類型 MF_PD_ASF_CONTENTENCRYPTION_TYPE 值為 「DRM」 的 Null 終止字串。
金鑰 ID MF_PD_ASF_CONTENTENCRYPTION_KEYID 描述金鑰識別碼的 Null 終止字串。
授權 URL MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL Null 終止的字串,其中包含要從中取得使用內容的授權的 URL。

 

擴充內容加密物件

如果內容提供者已使用 Windows Media Rights Manager 7 SDK 來保護內容,則會出現此標頭物件。 MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL屬性會提供對應至標頭物件的 Data 欄位的位元組陣列。 此欄位是使用內容的必要欄位。

擴充資料流程屬性物件

此標頭是標頭延伸模組物件的一部分。 擴充資料流程屬性物件提供資料流程的屬性,這些資料流程未定義于 Stream Properties 物件中。 這些屬性主要用於判斷解碼器所使用的「流失值區」參數。 壓縮資料時,編碼器也會使用這些屬性。 這是由設定檔物件和資料流程組態物件所管理。 如需詳細資訊,請參閱 建立和設定 ASF 資料流程

下表列出 [擴充資料流程屬性物件] 欄位和對應的資料流程描述元屬性。

[擴充資料流程屬性] 欄位 資料流程描述元屬性 描述
資料位元速率 MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE 平均資料速率,每秒以位為單位。
緩衝區大小 MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE 流失值區大小。 值是可以平均資料速率容納在緩衝區中的資料毫秒數。
替代資料位元速率 MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE 尖峰資料速率,以每秒為單位。 尖峰資料速率用於具有變數位元速率的資料流程。
替代緩衝區大小 MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE 流失值區大小上限。 值是可在尖峰資料速率中放入緩衝區的資料毫秒數。
資料流程語言識別項 MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX 資料流程使用的語言,指定為語言清單物件中語言清單的索引。

 

語言清單物件

這個標頭物件是 Header Extension 物件的一部分。 如果有的話, MF_PD_ASF_LANGLIST 屬性會提供檔案中支援的語言識別項清單。 識別碼符合 RFC 1766 的規範,以指定語言。

相互排除物件

此標頭會指定資料流程及其屬性的群組,一次只會傳遞其中一個。 如需詳細資訊,請參閱 使用 ASF 資料流程的互斥

ASF ContentInfo 物件

ASF 標頭物件

媒體基礎中的 ASF 支援