IMFCaptureEngineOnEventCallback::OnEvent 方法 (mfcaptureengine.h)
由捕获引擎调用,以通知应用程序捕获事件。
语法
HRESULT OnEvent(
[in] IMFMediaEvent *pEvent
);
parameters
[in] pEvent
指向 IMFMediaEvent 接口的指针。 使用此接口获取有关事件的信息,如备注中所述。
返回值
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
若要获取事件类型,请调用 IMFMediaEvent::GetExtendedType。 此方法返回以下 GUID 之一。
GUID | 描述 |
---|---|
MF_CAPTURE_ENGINE_ALL_EFFECTS_REMOVED | IMFCaptureSource::RemoveAllEffects 方法已完成。 |
MF_CAPTURE_ENGINE_CAMERA_STREAM_BLOCKED | 驱动程序已阻止视频捕获。 |
MF_CAPTURE_ENGINE_CAMERA_STREAM_UNBLOCKED | 被阻止后,驱动程序已还原视频捕获。 |
MF_CAPTURE_ENGINE_EFFECT_ADDED | IMFCaptureSource::AddEffect 方法已完成。 |
MF_CAPTURE_ENGINE_EFFECT_REMOVED | IMFCaptureSource::RemoveEffect 方法已完成。 |
MF_CAPTURE_ENGINE_ERROR | 捕获期间发生错误。 |
MF_CAPTURE_ENGINE_INITIALIZED | IMFCaptureEngine::Initialize 方法已完成。 |
MF_CAPTURE_ENGINE_PHOTO_TAKEN | IMFCaptureEngine::TakePhoto 方法已完成。 |
MF_CAPTURE_ENGINE_PREVIEW_STARTED | IMFCaptureEngine::StartPreview 方法已完成。 |
MF_CAPTURE_ENGINE_PREVIEW_STOPPED | IMFCaptureEngine::StopPreview 方法已完成。 |
MF_CAPTURE_ENGINE_RECORD_STARTED | IMFCaptureEngine::StartRecord 方法已完成。 |
MF_CAPTURE_ENGINE_RECORD_STOPPED | IMFCaptureEngine::StopRecord 方法已完成。 |
MF_CAPTURE_SINK_PREPARED | IMFCaptureSink::P repare 方法已完成。 |
MF_CAPTURE_SOURCE_CURRENT_DEVICE_MEDIA_TYPE_SET | IMFCaptureSource::SetCurrentDeviceMediaType 方法已完成。 |
此方法可以从工作线程调用。 实现应是线程安全的。
若要获取事件的状态代码,请调用 IMFMediaEvent::GetStatus。 如果状态代码是错误代码,则表示请求的操作失败。
此外, pEvent 指定的事件对象可能包含以下任何属性。
若要获取事件属性,请使用 IMFMediaEvent 继承的 IMFAttributes 接口。要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfcaptureengine.h |