Windows 媒體格式 SDK 概觀
[與此頁面相關聯的功能 Windows Media Format 11 SDK是舊版功能。 來源讀取器和接收寫入器已取代它。 來源讀取器和接收寫入器已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用來源讀取器和接收寫入器,而不是Windows Media Format 11 SDK。 Microsoft 建議盡可能重寫使用舊版 API 的現有程式碼,以使用新的 API。]
Windows Media Format SDK 包含物件,可在 ASF 檔案生命週期的三個點執行工作:建立、編輯和播放。 某些應用程式,特別是影片編輯的應用程式會使用 Windows Media Format SDK 的廣泛功能來讀取 ASF 檔案的內容、改變該內容,並將結果寫入新檔案。 不過,在檔案建立、編輯和播放的三個階段中,最容易想出此 SDK。
使用 Windows 媒體格式 SDK 建立 ASF 檔案
使用 Windows Media Format SDK 撰寫 ASF 檔案的程式相當簡單。 檔案建立是由寫入器物件管理。 您可以指定要使用的設定檔物件,告訴寫入器物件您要建立的檔案類型。 每個設定檔物件都包含 ASF 檔案的設定。 此 SDK 包含一些設定檔,而設定檔編輯支援是由許多物件提供。 當您已設定要使用的寫入器物件的設定檔時,您可以開始將樣本傳遞至寫入器進行處理。 在大部分情況下,範例是未壓縮的音訊或視訊片段,但範例可以是任何類型的資料。
在內部,寫入器會執行三個主要工作。 首先,如果要壓縮樣本所屬的資料流程,寫入器會與編解碼器的編碼部分通訊, (壓縮/解壓縮器) 來壓縮樣本。 在設定檔所指定的表單中,寫入器會將樣本分成適當大小的封包,以透過網路串流處理。 最後,各種資料流程中的資料會進行多工處理或交錯,讓所有資料流程中具有類似簡報時間的樣本在 ASF 檔案的資料區段中彼此接近。
寫入器物件實際上不會寫入檔案本身。 它會與一或多個稱為接收的物件通訊,以將資料從寫入器傳遞至其目的地。 在本機檔案的情況下,檔案接收會管理將資料寫入檔案。 您也可以設定網路接收,以跨網路傳遞 ASF 資料。 通常會使用一個以上的接收。 例如,應用程式可以跨網路串流檔案,並將複本儲存為本機磁片上的檔案。 藉由使用推播接收,您可以將內容從寫入應用程式廣播到執行 Windows 媒體服務的一或多部伺服器,然後發佈內容給使用者。
使用 Windows 媒體格式 SDK 的 ASF 檔案編輯 (中繼資料編輯)
編輯 ASF 檔案的資料區段內容牽涉到重寫檔案。 Windows 媒體格式 SDK 不提供任何就地運算元據區段的物件。 針對簡單的編輯,例如串連兩個檔案,或從檔案剪下內容,您可以讀取範例而不解壓縮它們,然後使用相同的標頭資訊將它們寫入新檔案。 更複雜的編輯牽涉到對用於新檔案的設定檔進行變更。
Windows Media Format SDK 支援編輯標頭區段的元件,而不需要重寫檔案。 ASF 檔案的標頭包含許多不同類型的資料。 最常見的編輯是中繼資料屬性,這些屬性是描述內容層面的名稱/值組,以及參與建立內容的人員。 您可以使用 Windows 媒體格式 SDK 的中繼資料編輯器物件來編輯中繼資料。 此物件會開啟 ASF 檔案,讓您變更標頭的某些內容、將變更寫入檔案,以及關閉檔案。 中繼資料編輯非常簡單,使用簡單的方法呼叫來擷取和設定值。
使用 Windows 媒體格式 SDK 讀取 ASF 檔案
Windows Media Format SDK 提供兩個不同的物件來讀取 ASF 檔案:讀取器物件和同步讀取器物件。 讀取器物件適用于所有版本的 SDK,而同步讀取器物件則需要 Windows Media Format 9 Series SDK 或更新版本。 這兩者的主要差異在於,讀取器物件會藉由將事件引發至回呼方法,將範例傳遞至您的應用程式,而同步讀取器則提供個別範例來回應方法呼叫。
若要使用讀取器物件,您必須實作數個回呼方法,以回應讀取器物件的狀態和範例訊息。 您可以設定讀取器以視需要傳遞內容、啟動讀取器,並等候範例訊息。 從 ASF 檔案擷取樣本的程式基本上是寫入程式的反向程式。 讀取器物件會與解碼任何壓縮資料流程所需的編解碼器通訊,並將未壓縮的資料傳遞至您的應用程式。 您也可以設定讀取器物件以傳遞其壓縮狀態的樣本,以便將先前編碼的資料流程包含在新的檔案中。
同步讀取器物件的運作方式與讀取器物件大致相同。 但是,您必須個別向同步讀取器要求每個範例,而不是設定回呼。 使用同步讀取器只需要單一線程,而使用讀取器則需要多個執行緒。 同步讀取器物件在某些情況下,對於需要快速存取檔案不同部分的內容編輯應用程式,以及在檔案之間複製資料,同步讀取器物件具有數個優點。 同步讀取器物件比較容易使用,並讓搜尋資料區段中的特定位置變得容易。 不過,同步讀取器不支援透過網路讀取檔案,也不支援數位版權管理。
使用 Windows 媒體格式 SDK 的其他作業
除了剛才描述的三個主要功能區域之外,Windows Media Format SDK 還有物件來執行與 ASF 檔案相關的其他作業。 設定檔管理員物件是用來建立及存取設定檔,並加以儲存。 索引子物件會在 ASF 檔案中建立索引物件,以允許在視訊檔案中搜尋。 最後,讀者物件和寫入者物件支援數位版權管理,以保護內容建立者的智慧財產權。
注意 ASF 檔案結構和此 SDK 的一般目的是要產生包含音訊和視訊的數位媒體檔案,而本檔是以該結尾撰寫。 不過,ASF 檔案結構也適用于其他類型的內容。 您可能會發現許多與音訊和視訊無關的 ASF 檔案應用程式。
相關主題