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
标头 mfidl.h
Library Mf.lib
DLL Mf.dll

另请参阅

IMFMediaSource

媒体基础函数