MFCreateDeviceSource 函数 (mfidl.h)

为硬件捕获设备创建媒体源。

语法

HRESULT MFCreateDeviceSource(
  [in]  IMFAttributes  *pAttributes,
  [out] IMFMediaSource **ppSource
);

参数

[in] pAttributes

指向属性存储的 IMFAttributes 接口的指针,该接口用于选择设备。 请参阅“备注”。

[out] ppSource

接收指向媒体源的 IMFMediaSource 接口的指针。 调用方必须释放接口。

返回值

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

重要当不再需要捕获设备时,必须通过在调用 MFCreateDeviceSource 获取的 IMFMediaSource 对象上调用 Shutdown 来关闭设备。 调用 Shutdown 失败可能会导致内存链接,因为系统可能会在调用 Shutdown 之前保留对 IMFMediaSource 资源的引用。
 
pAttributes 参数指定属性存储。 若要创建属性存储,请调用 MFCreateAttributes 函数。 必须设置 MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE 属性,该属性指定音频或视频) (设备类型。

对于音频捕获设备,可以选择设置以下属性之一:

Attribute 说明
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID 指定音频捕获设备的音频终结点 ID。
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE 指定设备角色。 如果设置了此属性,该函数将默认音频捕获设备用于该设备角色。

不要将此属性与 MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID 属性组合在一起。

 

如果两个属性均未指定,则函数会为 eCommunications 角色选择默认音频捕获设备。

对于视频捕获设备,必须设置以下属性:

Attribute 说明
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK 指定指向设备的符号链接。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 mfidl.h
Library Mf.lib
DLL Mf.dll

另请参阅

媒体基础中的音频/视频捕获

捕获设备属性

MFCreateDeviceSourceActivate

媒体基础函数