Condividi tramite


Funzione MFCreateAggregateSource (mfidl.h)

Crea un'origine multimediale che aggrega una raccolta di origini multimediali.

Sintassi

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

Parametri

[in] pSourceCollection

Puntatore all'interfaccia IMFCollection dell'oggetto raccolta che contiene un elenco di origini multimediali.

[out] ppAggSource

Riceve un puntatore all'interfaccia IMFMediaSource dell'origine multimediale aggregata. Il chiamante deve rilasciare l'interfaccia.

Valore restituito

La funzione restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
L'insieme pSourceCollection non contiene elementi.

Commenti

L'origine multimediale aggregata è utile per combinare flussi da origini multimediali separate. Ad esempio, è possibile usarlo per combinare un'origine di acquisizione video e un'origine di acquisizione audio.

Esempio

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;    
}

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mf.lib
DLL Mf.dll

Vedi anche

IMFMediaSource

Funzioni di Media Foundation