IMFVirtualCamera::Start 方法 (mfvirtualcamera.h)
创建并注册虚拟相机。
语法
HRESULT Start(
IMFAsyncCallback *pCallback
);
参数
pCallback
指向 IMFAsyncCallback 对象的可选指针,管道将使用该对象通知调用方虚拟相机的状态。 可以使用 IMFMediaEvent 调用回调(如果提供)。 调用时, IMFMediaEvent::GetType 方法将返回 MEExtendedType 或 MEError。 如果返回 MEExtendedType,IMFMediaEvent::GetExtendedType 方法可能会返回以下事件类型之一:
扩展事件类型 | 说明 |
---|---|
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_INITIALIZE | 表示虚拟相机的自定义媒体源由应用程序初始化。 |
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_START | 应用程序在虚拟相机的自定义媒体源上启动 (或流) 。 |
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_STOP | 应用程序已停止虚拟相机的自定义媒体源上的所有流。 |
MF_FRAMESERVER_VCAMEVENT_EXTENDED_SOURCE_UNINITIALIZE | 虚拟相机的自定义媒体源未初始化。 |
MF_FRAMESERVER_VCAMEVENT_EXTENDED_PIPELINE_SHUTDOWN | 虚拟相机的管道已关闭。 |
MF_FRAMESERVER_VCAMEVENT_EXTENDED_CUSTOM_EVENT | 虚拟相机的自定义媒体源生成了自定义事件。 IMFMediaEvent 的架构特定于供应商。 |
在 IMFVirtualCamera::Start 成功返回后,可以随时调用回调。
返回值
返回 HRESULT 值,包括但不限于以下值:
错误代码 | 说明 |
---|---|
S_OK | 已成功 |
E_INVALIDARG | 输入参数无效。 |
注解
在成功调用 Start 方法之前, IMFVirtualCamera 表示虚拟相机配置信息,基础虚拟相机尚不存在 -除非 MFCreateVirtualCamera 重新打开现有的虚拟相机。 成功调用 Start 后,IMFVirtualCamera 继承自 的 IMFAttributes 将包含新创建的虚拟相机的符号链接名称MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK。
如果使用与先前调用相同的参数调用 MFCreateVirtualCamera,并指定已通过成功调用 IMFVirtualCamera::Start 启动的 IMFVirtualCamera,则结果 IMFVirtualCamera 已处于有效状态,后续对 IMFVirtualCamera::Start 的调用可用于注册新的回调。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 内部版本 22000 |
标头 | mfvirtualcamera.h |
Library | mfsensorgroup.lib |
DLL | mfsensorgroup.dll |