共用方式為


MFCreateMediaBufferFromMediaType 函式 (mfapi.h)

配置最適合指定媒體類型的系統記憶體緩衝區。

語法

HRESULT MFCreateMediaBufferFromMediaType(
  [in]  IMFMediaType   *pMediaType,
  [in]  LONGLONG       llDuration,
  [in]  DWORD          dwMinLength,
  [in]  DWORD          dwMinAlignment,
  [out] IMFMediaBuffer **ppBuffer
);

參數

[in] pMediaType

媒體類型 之 IMFMediaType 介面的指標。

[in] llDuration

範例持續時間。 音訊格式需要這個值。

[in] dwMinLength

緩衝區的大小下限,以位元組為單位。 實際的緩衝區大小可能較大。 指定零來配置媒體類型的預設緩衝區大小。

[in] dwMinAlignment

緩衝區的最小記憶體對齊方式。 指定零以使用預設記憶體對齊方式。

[out] ppBuffer

接收 IMFMediaBuffer 介面的指標。 呼叫端必須釋放 介面。

傳回值

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果是視訊格式,如果辨識格式,函式會建立實作 IMF2DBuffer2 介面的 2D 緩衝區。 否則,它會建立線性緩衝區。 若要取得IMF2DBuffer2介面,請在ppBuffer中傳回的指標上呼叫QueryInterface。 如果 QueryInterface 方法失敗,請使用 IMFMediaBuffer 介面來存取緩衝區記憶體。

針對音訊格式,函式會配置足以包含 llDuration 音訊樣本或 dwMinLength的緩衝區,無論大小為何。

此函式一律會配置系統記憶體。 針對 Direct3D 表面,請使用 MFCreateDXGISurfaceBufferMFCreateDXSurfaceBuffer 函式。

需求

   
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfapi.h
程式庫 Mfplat.lib
Dll Mfplat.dll

另請參閱

媒體基礎函式