共用方式為


MFCreateTranscodeTopology 函式 (mfidl.h)

建立部分轉碼拓撲。

基礎拓撲產生器會藉由連接必要的管線物件來建立部分拓撲:來源、編碼器和接收。 編碼器和接收會根據轉碼配置檔中呼叫端所指定的設定來設定。

若要建立轉碼配置檔物件,請呼叫 MFCreateTranscodeProfile 函式,並呼叫適當的 IMFTranscodeProfile 方法來設定必要的屬性。

設定的轉碼配置檔會傳遞至 MFCreateTranscodeTopology 函式,此函式會使用適當的設定來建立轉碼拓撲。 接著,呼叫端可以在媒體會話上設定此拓撲,並啟動會話以開始編碼程式。 媒體會話結束時,會產生轉碼的檔案。

語法

HRESULT MFCreateTranscodeTopology(
  [in]  IMFMediaSource      *pSrc,
  [in]  LPCWSTR             pwszOutputFilePath,
  [in]  IMFTranscodeProfile *pProfile,
  [out] IMFTopology         **ppTranscodeTopo
);

參數

[in] pSrc

媒體來源的指標,封裝要轉碼的來源檔案。 媒體來源物件會公開 IMFMediaSource 介面,而且可以使用來源解析程式來建立。 如需詳細資訊,請參閱 使用來源解析程式

[in] pwszOutputFilePath

Null 終止字串的指標,其中包含要產生之輸出檔的名稱和路徑。

[in] pProfile

轉碼配置檔的指標,其中包含音訊串流的組態設定、視訊數據流,以及寫入檔案的容器。 轉碼配置檔物件會公開 IMFTranscodeProfile 介面,而且必須藉由呼叫 MFCreateTranscodeProfile 函式來建立。 建立對象之後,呼叫端必須藉由呼叫適當的 IMFTranscodeProfile 方法來提供組態設定。

[out] ppTranscodeTopo

接收轉碼拓撲物件的 IMFTopology 介面指標。 呼叫端必須釋放 介面。

傳回值

函式會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
函式呼叫成功, ppTranscodeTopo 會收到轉碼拓撲的指標。
E_INVALIDARG
pwszOutputFilePath 包含無效字元。
MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED
媒體來源中未選取任何數據流。
MF_E_TRANSCODE_NO_CONTAINERTYPE
配置檔不包含 MF_TRANSCODE_CONTAINERTYPE 屬性。
MF_E_TRANSCODE_NO_MATCHING_ENCODER
針對一或多個數據流,找不到可接受配置檔中指定之媒體類型的編碼器。
MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS
配置檔不會為媒體來源上任何選取的數據流指定媒體類型。

備註

如需使用此函式的範例程式代碼,請參閱下列主題:

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 mfidl.h
程式庫 Mf.lib
Dll Mf.dll

另請參閱

IMFTopology

媒體基礎函式

拓撲

轉碼 API