Функция MFCreateAggregateSource (mfidl.h)

Создает источник мультимедиа, который агрегирует коллекцию источников мультимедиа.

Синтаксис

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

Параметры

[in] pSourceCollection

Указатель на интерфейс IMFCollection объекта коллекции, содержащего список источников мультимедиа.

[out] ppAggSource

Получает указатель на интерфейс IMFMediaSource агрегированного источника мультимедиа. Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Функция возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.

Код возврата Описание
S_OK
Метод выполнен успешно.
E_INVALIDARG
Коллекция pSourceCollection не содержит элементов.

Комментарии

Агрегированный источник мультимедиа полезен для объединения потоков из отдельных источников мультимедиа. Например, его можно использовать для объединения источника видеозахвата и источника аудиозахвата.

Примеры

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

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfidl.h
Библиотека Mf.lib
DLL Mf.dll

См. также раздел

IMFMediaSource

Функции Media Foundation