MF_MEDIA_ENGINE_EVENT 枚举 (mfmediaengine.h)
定义媒体引擎的事件代码。
语法
typedef enum MF_MEDIA_ENGINE_EVENT {
MF_MEDIA_ENGINE_EVENT_LOADSTART = 1,
MF_MEDIA_ENGINE_EVENT_PROGRESS = 2,
MF_MEDIA_ENGINE_EVENT_SUSPEND = 3,
MF_MEDIA_ENGINE_EVENT_ABORT = 4,
MF_MEDIA_ENGINE_EVENT_ERROR = 5,
MF_MEDIA_ENGINE_EVENT_EMPTIED = 6,
MF_MEDIA_ENGINE_EVENT_STALLED = 7,
MF_MEDIA_ENGINE_EVENT_PLAY = 8,
MF_MEDIA_ENGINE_EVENT_PAUSE = 9,
MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA = 10,
MF_MEDIA_ENGINE_EVENT_LOADEDDATA = 11,
MF_MEDIA_ENGINE_EVENT_WAITING = 12,
MF_MEDIA_ENGINE_EVENT_PLAYING = 13,
MF_MEDIA_ENGINE_EVENT_CANPLAY = 14,
MF_MEDIA_ENGINE_EVENT_CANPLAYTHROUGH = 15,
MF_MEDIA_ENGINE_EVENT_SEEKING = 16,
MF_MEDIA_ENGINE_EVENT_SEEKED = 17,
MF_MEDIA_ENGINE_EVENT_TIMEUPDATE = 18,
MF_MEDIA_ENGINE_EVENT_ENDED = 19,
MF_MEDIA_ENGINE_EVENT_RATECHANGE = 20,
MF_MEDIA_ENGINE_EVENT_DURATIONCHANGE = 21,
MF_MEDIA_ENGINE_EVENT_VOLUMECHANGE = 22,
MF_MEDIA_ENGINE_EVENT_FORMATCHANGE = 1000,
MF_MEDIA_ENGINE_EVENT_PURGEQUEUEDEVENTS = 1001,
MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER = 1002,
MF_MEDIA_ENGINE_EVENT_BALANCECHANGE = 1003,
MF_MEDIA_ENGINE_EVENT_DOWNLOADCOMPLETE = 1004,
MF_MEDIA_ENGINE_EVENT_BUFFERINGSTARTED = 1005,
MF_MEDIA_ENGINE_EVENT_BUFFERINGENDED = 1006,
MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED = 1007,
MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE = 1008,
MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY = 1009,
MF_MEDIA_ENGINE_EVENT_TRACKSCHANGE = 1010,
MF_MEDIA_ENGINE_EVENT_OPMINFO = 1011,
MF_MEDIA_ENGINE_EVENT_RESOURCELOST = 1012,
MF_MEDIA_ENGINE_EVENT_DELAYLOADEVENT_CHANGED = 1013,
MF_MEDIA_ENGINE_EVENT_STREAMRENDERINGERROR = 1014,
MF_MEDIA_ENGINE_EVENT_SUPPORTEDRATES_CHANGED = 1015,
MF_MEDIA_ENGINE_EVENT_AUDIOENDPOINTCHANGE = 1016
} ;
常量
MF_MEDIA_ENGINE_EVENT_LOADSTART 值:1 媒体引擎已开始加载源。 请参阅 IMFMediaEngine::Load。 |
||||||
MF_MEDIA_ENGINE_EVENT_PROGRESS 值: 2 媒体引擎正在加载源。 |
||||||
MF_MEDIA_ENGINE_EVENT_SUSPEND 值: 3 媒体引擎已暂停加载操作。 |
||||||
MF_MEDIA_ENGINE_EVENT_ABORT 值: 4 媒体引擎取消了正在进行的加载操作。 |
||||||
MF_MEDIA_ENGINE_EVENT_ERROR 值: 5 出现了错误。
|
||||||
MF_MEDIA_ENGINE_EVENT_EMPTIED 值: 6 媒体引擎已切换到 MF_MEDIA_ENGINE_NETWORK_EMPTY 状态。 当调用 IMFMediaEngine::Load 方法时,或者在 Load 方法期间发生错误时,可能会发生这种情况。 请参阅 IMFMediaEngine::GetNetworkState。 |
||||||
MF_MEDIA_ENGINE_EVENT_STALLED 值: 7 加载算法已停止,正在等待数据。 |
||||||
MF_MEDIA_ENGINE_EVENT_PLAY 值: 8 媒体引擎正在切换到播放状态。 请参阅 IMFMediaEngine::P lay。 |
||||||
MF_MEDIA_ENGINE_EVENT_PAUSE 值: 9 媒体引擎已暂停。 请参阅 IMFMediaEngine::P ause。 |
||||||
MF_MEDIA_ENGINE_EVENT_LOADEDMETADATA 值: 10 媒体引擎已加载足够的源数据来确定源的持续时间和维度。 |
||||||
MF_MEDIA_ENGINE_EVENT_LOADEDDATA 值: 11 媒体引擎已加载足够的数据来呈现某些内容 (例如视频帧) 。 |
||||||
MF_MEDIA_ENGINE_EVENT_WAITING 值: 12 播放已停止,因为下一帧不可用。 |
||||||
MF_MEDIA_ENGINE_EVENT_PLAYING 值: 13 播放已开始。 请参阅 IMFMediaEngine::P lay。 |
||||||
MF_MEDIA_ENGINE_EVENT_CANPLAY 值: 14 可以启动播放,但媒体引擎可能需要停止以缓冲更多数据。 |
||||||
MF_MEDIA_ENGINE_EVENT_CANPLAYTHROUGH 值: 15 媒体引擎可能会播放到资源末尾,而无需停止缓冲数据。 |
||||||
MF_MEDIA_ENGINE_EVENT_SEEKING 值: 16 媒体引擎已开始寻求新的播放位置。 请参阅 IMFMediaEngine::SetCurrentTime。 |
||||||
MF_MEDIA_ENGINE_EVENT_SEEKED 值: 17 媒体引擎已寻求新的播放位置。 请参阅 IMFMediaEngine::SetCurrentTime。 |
||||||
MF_MEDIA_ENGINE_EVENT_TIMEUPDATE 值: 18 播放位置已更改。 请参阅 IMFMediaEngine::GetCurrentTime。 |
||||||
MF_MEDIA_ENGINE_EVENT_ENDED 值: 19 播放已到达源的末尾。 如果 GetLoop 为 TRUE,则不会发送此事件。 |
||||||
MF_MEDIA_ENGINE_EVENT_RATECHANGE 值: 20 播放速率已更改。 请参阅 IMFMediaEngine::SetPlaybackRate。 |
||||||
MF_MEDIA_ENGINE_EVENT_DURATIONCHANGE 值: 21 媒体源的持续时间已更改。 请参阅 IMFMediaEngine::GetDuration。 |
||||||
MF_MEDIA_ENGINE_EVENT_VOLUMECHANGE 值: 22 音频音量已更改。 请参阅 IMFMediaEngine::SetVolume。 |
||||||
MF_MEDIA_ENGINE_EVENT_FORMATCHANGE 值: 1000 媒体源的输出格式已更改。
|
||||||
MF_MEDIA_ENGINE_EVENT_PURGEQUEUEDEVENTS 值: 1001 媒体引擎从其队列中刷新所有挂起的事件。 |
||||||
MF_MEDIA_ENGINE_EVENT_TIMELINE_MARKER 值: 1002 播放位置达到时间线标记。 请参阅 IMFMediaEngineEx::SetTimelineMarkerTimer。 |
||||||
MF_MEDIA_ENGINE_EVENT_BALANCECHANGE 值: 1003 音频平衡已更改。 请参阅 IMFMediaEngineEx::SetBalance。 |
||||||
MF_MEDIA_ENGINE_EVENT_DOWNLOADCOMPLETE 值: 1004 媒体引擎已完成源数据的下载。 |
||||||
MF_MEDIA_ENGINE_EVENT_BUFFERINGSTARTED 值: 1005 媒体源已开始缓冲数据。 |
||||||
MF_MEDIA_ENGINE_EVENT_BUFFERINGENDED 值: 1006 媒体源已停止缓冲数据。 |
||||||
MF_MEDIA_ENGINE_EVENT_FRAMESTEPCOMPLETED 值: 1007 IMFMediaEngineEx::FrameStep 方法已完成。 |
||||||
MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE 值: 1008 媒体引擎的 负载 算法正在等待启动。
如果使用 MF_MEDIA_ENGINE_WAITFORSTABLE_STATE 标志创建媒体引擎,则媒体引擎会在加载算法开始时发送MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE事件。 param1 参数是可等待事件的句柄。 加载线程通过调用 SetEvent 等待应用程序发出事件信号。 如果未使用 MF_MEDIA_ENGINE_WAITFORSTABLE_STATE 创建媒体引擎,则它不会发送此事件,并且 加载 线程不会等待发出信号。 |
||||||
MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY 值: 1009 媒体源的第一帧已准备好呈现。 |
||||||
MF_MEDIA_ENGINE_EVENT_TRACKSCHANGE 值: 1010 添加或删除新轨道时引发。 在 Windows 8.1 及更高版本中受支持。 |
||||||
MF_MEDIA_ENGINE_EVENT_OPMINFO 值: 1011 当存在有关 输出保护管理器 (OPM) 的新信息时引发。 发生 OPM 故障时,将引发此事件,但 ITA 允许在没有 OPM 的情况下回退。 在这种情况下,可以应用收缩。 当存在 OPM 故障且回退也失败时,不会引发此事件。 例如,如果 ITA 在无法建立 OPM 时完全阻止播放。 在 Windows 8.1 及更高版本中受支持。 |
||||||
MF_MEDIA_ENGINE_EVENT_RESOURCELOST 值: 1012 |
||||||
MF_MEDIA_ENGINE_EVENT_DELAYLOADEVENT_CHANGED 值: 1013 |
||||||
MF_MEDIA_ENGINE_EVENT_STREAMRENDERINGERROR 值: 1014 当媒体流的某个组件流失败时引发。 仅当媒体流包含未失败的其他组件流时,才会引发此事件。 |
||||||
MF_MEDIA_ENGINE_EVENT_SUPPORTEDRATES_CHANGED 值: 1015 |
||||||
MF_MEDIA_ENGINE_EVENT_AUDIOENDPOINTCHANGE 值: 1016 |
注解
应用程序通过 IMFMediaEngineNotify::EventNotify 方法接收媒体引擎事件。 EventNotify 方法包括两个事件参数:param1 和 param2。 参数的含义取决于事件代码。 如果事件说明未列出任何参数,请忽略 param1 和 param2 的值。
低于 1000 的值对应于 HTML 5 中为媒体元素定义的事件。
要求
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
标头 | mfmediaengine.h |