ASF 媒體接收
ASF 媒體接收是編碼管線中最後一個元件,可讓應用程式寫入 ASF 檔案。
媒體基礎提供兩種類型的 ASF 媒體接收:
- ASF 檔案接收 用來將 ASF 媒體數據封存到檔案。
- ASF 串流接收 可用來在可透過網路串流的位元組資料流中寫入 ASF 內容。
ASF 媒體接收包含一或多個數據流接收,代表輸出 ASF 檔案中每個數據流要寫入的數據。 針對在 Windows Vista 上執行的編碼應用程式,您必須建立和設定 ASF 媒體接收,然後將它新增至拓撲,以手動設定編碼拓撲。 在 Windows 7 中,如果您使用快速轉碼物件來建立拓撲,則您沒有直接建立媒體接收,而且應用程式不會呼叫媒體接收或任何數據流接收上的任何方法。 快速轉碼物件會具現化所需的媒體接收,並將它新增至拓撲,再傳回呼叫端應用程式的參考。 不過,對於快速轉碼物件,會根據編碼類型套用一些限制。
ASF 媒體接收物件模型
ASF 媒體接收會實作IMFMediaSink介面,並公開下列介面。 應用程式可以在 ASF 媒體接收上呼叫 QueryInterface,以取得這些介面的參考,其用於產生輸出範例。
介面 | 描述 |
---|---|
IMFMediaSink | 所有媒體接收都需要。 |
IMFFinalizableMediaSink | 由 ASF 檔案接收實作,將產生的媒體內容寫入檔案。 您可以使用這個介面上的 方法來排清數據,並更新最終輸出檔案的 ASF 標頭物件。 |
IMFClockStateSink | 從簡報時鐘接收狀態變更通知。 |
IMFASFContentInfo | ASF ContentInfo 對像是 WMContainer 層級物件,主要儲存 ASF 標頭對象資訊。 這是用來建立 ASF 媒體接收。 |
IMFMetadata | 用來描述 ASF 檔案的元數據。 |
IMFMetadataProvider | 擷取整個簡報的元數據集合,或擷取簡報中的一個數據流。 |
ASF 檔案接收
ASF 檔案接收是媒體基礎所提供的 IMFMediaSink 實作,應用程式可用來將 ASF 媒體數據封存至檔案。
如果您使用管線層對象來寫入新的 ASF 檔案,則必須在檔案接收或其任何數據流接收上建立、設定及呼叫方法。 設定檔案接收之後,您就可以將其新增至編碼管線。
以下是使用 ASF 檔案接收的一般步驟:
- 建立檔案接收進程內或跨進程。
- 使用所有數據流、編碼屬性和元數據信息來設定檔案接收。
- 藉由列舉數據流接收,或藉由追蹤接收中的數據流號碼,將檔案接收與輸出拓撲節點產生關聯。
下列主題包含使用 ASF 檔案接收的詳細資訊:
相關主題