다음을 통해 공유


MultiSourceMediaFrameReader.FrameArrived 이벤트

정의

MultiSourceMediaFrameReader와 연결된 모든 미디어 프레임 원본에서 새 프레임이 도착할 때 발생합니다.

// Register
event_token FrameArrived(TypedEventHandler<MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs const&> const& handler) const;

// Revoke with event_token
void FrameArrived(event_token const* cookie) const;

// Revoke with event_revoker
MultiSourceMediaFrameReader::FrameArrived_revoker FrameArrived(auto_revoke_t, TypedEventHandler<MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs const&> const& handler) const;
public event TypedEventHandler<MultiSourceMediaFrameReader,MultiSourceMediaFrameArrivedEventArgs> FrameArrived;
function onFrameArrived(eventArgs) { /* Your code */ }
multiSourceMediaFrameReader.addEventListener("framearrived", onFrameArrived);
multiSourceMediaFrameReader.removeEventListener("framearrived", onFrameArrived);
- or -
multiSourceMediaFrameReader.onframearrived = onFrameArrived;
Public Custom Event FrameArrived As TypedEventHandler(Of MultiSourceMediaFrameReader, MultiSourceMediaFrameArrivedEventArgs) 

이벤트 유형

설명

FrameArrived 이벤트에 대한 처리기에서 이벤트 처리기에 보낸 사람 매개 변수로 전달된 MultiSourceMediaFrameReference에서 TryAcquireLatestFrame을 호출하여 판독기가 생성된 미디어 프레임 원본의 최신 상관 관계 프레임 집합을 나타내는 MultiSourceMediaFrameReference를 가져옵니다. 그런 다음 TryGetFrameReferenceBySourceId 를 호출하고 원하는 미디어 프레임 원본에 대한 MediaFrameSourceInfo.Id 속성 값을 전달하여 특정 미디어 프레임 원본에서 시간 상관 미디어 프레임을 가져옵니다.

이 이벤트는 MultiSourceMediaFrameReader와 연결된 모든 미디어 프레임 원본에서 새 프레임을 사용할 수 있는 경우에만 발생합니다. 예를 들어 원본 중 하나가 다른 소스의 두 배 속도로 프레임을 생성하는 경우 더 빠른 원본에서 프레임의 절반이 삭제되고 이 이벤트는 느린 프레임 원본에 새 프레임을 사용할 수 있는 경우에만 발생합니다. 이러한 이유로 이벤트를 설정하고 이 이벤트가 발생할 때마다 신호를 전송하는 것이 좋습니다. 별도의 스레드에서 검사 지정된 기간(예: 5초) 내에 이벤트가 신호를 받았는지 확인할 수 있습니다. 이벤트가 시간 창과 함께 신호를 받지 않은 경우 앱은 프레임 원본 중 하나가 더 이상 프레임을 생성하지 않고 판독기를 중지해야 한다고 추론할 수 있습니다.

시간 상관 관계가 있는 미디어 프레임 작업에 대한 방법 지침은 MediaFrameReader를 사용하여 미디어 프레임 처리를 참조하세요.

적용 대상

추가 정보