Share via


MF_MEDIA_ENGINE_EVENT列舉 (mfmediaengine.h)

定義媒體引擎的事件代碼。

Syntax

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
發生錯誤。














事件參數描述
param1MF_MEDIA_ENGINE_ERR列舉的成員。
param2HRESULT錯誤碼或零。
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
播放已到達來源的結尾。 如果 GetLoopTRUE,則不會傳送此事件。
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
媒體來源的輸出格式已變更。














事件參數描述
param1如果視訊格式變更,則為零,如果音訊格式已變更,則為 1。
param2零。
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
媒體引擎的 載入 演算法正在等候啟動。














事件參數描述
param1HANDLE 類型的可等候事件的句
param2零。

 

如果使用MF_MEDIA_ENGINE_WAITFORSTABLE_STATE旗標建立媒體引擎,媒體引擎會在Load演算法開始時傳送MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE事件。 param1參數是可等候事件的控制碼。 Load執行緒會等候應用程式呼叫SetEvent來發出事件訊號。

如果未使用 MF_MEDIA_ENGINE_WAITFORSTABLE_STATE建立媒體引擎,它就不會傳送此事件,而且 Load 執行緒不會等候發出訊號。
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方法包含兩個事件參數:param1param2。 參數的意義取決於事件程式碼。 如果事件描述未列出任何參數,請忽略 param1param2的值。

低於 1000 的值會對應至媒體元件的 HTML 5 中所定義的事件。

需求

   
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
標頭 mfmediaengine.h

另請參閱

IMFMediaEngineNotify::EventNotify

媒體基礎列舉