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 资源的引用。
对于音频捕获设备,可以选择设置以下属性之一:
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 |