Compartilhar via


Função MFCreateAggregateSource (mfidl.h)

Cria uma fonte de mídia que agrega uma coleção de fontes de mídia.

Sintaxe

HRESULT MFCreateAggregateSource(
  [in]  IMFCollection  *pSourceCollection,
  [out] IMFMediaSource **ppAggSource
);

Parâmetros

[in] pSourceCollection

Um ponteiro para a interface IMFCollection do objeto de coleção que contém uma lista de fontes de mídia.

[out] ppAggSource

Recebe um ponteiro para a interface IMFMediaSource da fonte de mídia agregada. O chamador deve liberar a interface .

Retornar valor

A função retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
A coleção pSourceCollection não contém nenhum elemento.

Comentários

A fonte de mídia agregada é útil para combinar fluxos de fontes de mídia separadas. Por exemplo, você pode usá-lo para combinar uma fonte de captura de vídeo e uma fonte de captura de áudio.

Exemplos

HRESULT CreateAggregatedSource(
    IMFMediaSource *pSource1,
    IMFMediaSource *pSource2,
    IMFMediaSource **ppAggSource
    )
{
    *ppAggSource = NULL;

    IMFCollection *pCollection = NULL;

    HRESULT hr = MFCreateCollection(&pCollection);

    if (SUCCEEDED(hr))
    {
        hr = pCollection->AddElement(pSource1);
    }
    if (SUCCEEDED(hr))
    {
        hr = pCollection->AddElement(pSource2);
    }
    if (SUCCEEDED(hr))
    {
        hr = MFCreateAggregateSource(pCollection, ppAggSource);
    }
    SafeRelease(&pCollection);
    return hr;    
}

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mf.lib
DLL Mf.dll

Confira também

IMFMediaSource

Funções do Media Foundation