共用方式為


媒體基礎架構概觀

本主題描述 Microsoft Media Foundation 的一般設計。 如需針對特定程式設計工作使用 Media Foundation 的詳細資訊,請參閱 媒體基礎程式設計手冊

下圖顯示媒體基礎架構的高階檢視。

此圖顯示媒體基礎架構的高階檢視。

媒體基礎提供兩種不同的程式設計模型。 圖表左側所顯示的第一個模型會針對媒體資料使用端對端管線。 應用程式會藉由提供要播放的檔案 URL,然後呼叫方法來控制串流,以初始化管線。 第二個模型顯示在圖表右側,應用程式會從來源提取資料,或將它推送至目的地 (或兩者) 。 如果您需要處理資料,此模型特別有用,因為應用程式可以直接存取資料流程。

基本類型與平臺

從圖表底部開始,基本 類型 是在整個媒體基礎 API 中使用的協助程式物件:

  • 屬性 是將資訊儲存在物件內的泛型方式,做為索引鍵/值組的清單。
  • 媒體類型 描述媒體資料流程的格式。
  • 媒體緩衝區會 保存媒體資料的區塊,例如視訊畫面和音訊範例,可用來在物件之間傳輸資料。
  • 媒體範例 是媒體緩衝區的容器。 它們也包含緩衝區的相關中繼資料,例如時間戳記。

Media Foundation Platform API 提供媒體基礎管線所使用的一些核心功能,例如非同步回呼和工作佇列。 某些應用程式可能需要直接呼叫這些 API;此外,如果您實作媒體基礎的自訂來源、轉換或接收,則需要它們。

媒體管線

媒體管線包含三種類型的物件,可產生或處理媒體資料:

  • 媒體來源會將 資料導入管線。 媒體來源可能會從本機檔案取得資料,例如視訊檔案;來自網路資料流程;或從硬體擷取裝置。
  • 媒體基礎轉換 (MFT) 處理資料流程中的資料。 編碼器和解碼器會實作為 MFT。
  • 媒體接收會 取用資料;例如,藉由在顯示器上顯示視訊、播放音訊或將資料寫入媒體檔案。

協力廠商可以實作自己的自訂來源、接收和 MFT;例如,支援新的媒體檔案格式。

媒體會話會透過管線控制資料流程,並處理如品質控制、音訊/視訊同步處理,以及回應格式變更等工作。

來源讀取器和接收寫入器

來源讀取器和接收寫入器提供替代方式,讓您 (媒體來源、轉換和媒體接收) 使用基本媒體基礎元件。 來源讀取器裝載媒體來源和零個或多個解碼器,而接收寫入器則裝載媒體接收和零或多個編碼器。 您可以使用來源讀取器從媒體來源取得壓縮或未壓縮的資料,並使用接收寫入器來編碼資料,並將資料傳送至媒體接收。

注意

來源讀取器和接收寫入器可在 Windows 7 中使用。

 

此程式設計模型可讓應用程式更充分地控制資料流程,也可讓應用程式直接存取來自來源的資料。

媒體基礎:基本概念

媒體基礎架構