影片範例

影片範例物件是 IMFSample 介面的特製化實作,可與增強式 視訊轉譯器 (EVR) 搭配使用。 若要建立這個物件的實例,請呼叫 MFCreateVideoSampleFromSurface 函式。 函式會採用 Direct3D 介面的指標,並傳回 IMFSample 介面的指標。 下列類型的物件應該使用此函式來配置範例:

影片範例物件會實作下列介面:

如果MFCreateVideoSampleFromSurfacepUnkSurface參數不是Null,產生的視訊範例會包含封裝 Direct3D 介面的單一媒體緩衝區。 此緩衝區物件的功能有限:

從緩衝區存取表面的唯一方法是使用服務識別碼MR_BUFFER_SERVICE呼叫 IMFGetService::GetService

如果 pUnkSurface 參數為 Null,則會使用零個媒體緩衝區建立影片範例。 若要新增範例的緩衝區,請執行下列動作:

  1. 建立 Direct3D 介面。

  2. 呼叫 MFCreateDXSurfaceBuffer來建立介面緩衝區。 如需詳細資訊,請參閱 DirectX Surface Buffer

  3. 呼叫 IMFSample::AddBuffer,將緩衝區新增至範例。

如果您需要透過 IMF2DBuffer 介面存取表面記憶體,請使用此方法。

媒體緩衝區

媒體範例