다음을 통해 공유


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 오류 코드 또는 0입니다.
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비디오 형식이 변경되면 0, 오디오 형식이 변경된 경우 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 플래그를 사용하여 미디어 엔진을 만든 경우 미디어 엔진은 부하 알고리즘의 시작 부분에 MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE 이벤트를 보냅니다. param1 매개 변수는 대기 가능한 이벤트에 대한 핸들입니다. Load 스레드는 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의 두 이벤트 매개 변수가 포함됩니다. 매개 변수의 의미는 이벤트 코드에 따라 달라집니다. 이벤트 설명에 매개 변수가 나열되지 않으면 param1param2 값을 무시합니다.

1000 미만의 값은 미디어 요소의 HTML 5에 정의된 이벤트에 해당합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱 | UWP 앱]
머리글 mfmediaengine.h

참고 항목

IMFMediaEngineNotify::EventNotify

Media Foundation 열거형