RTCPeerConnection.onicegatheringstatechange

Experimental

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

RTCPeerConnection.onicegatheringstatechange속성은 icegatheringstatechange 이벤트가 RTCPeerConnection에 전달될 때 호출이되는 함수를 정의하는 EventHandler입니다. 이이벤트는 ICE 에이전트가 ICE candidate를 수집을 하는지의 여부를 알려주는 ICE 수집 상태가 변하면 발생합니다. 하지만, ICE 수집 상태를 모니터링 해야하는 특별한 이유가 없으면 이 이벤트를 감시 할 필요는 없습니다.

Syntax

RTCPeerConnection.onicegatheringstatechange = eventHandler;

icegatheringstatechange 이벤트를 가진 Event 객체를 단일 패러미터로 전달하는 함수를 제공합니다. RTCPeerConnection.iceGatheringState 속성의 값 확인을 통해 ICE 수집 상태를 새로운 값으로 변경이 가능합니다.

예시

아래의 예제는 iceGatheringState 속성 값이 변할 때마다 현재 값을 확인하고, 수집 상태 변화에 맞추어 표시될 상태 내용을 업데이트해서 유저에게 알려줍니다.  

이 상태는 <div> 요소에 텍스트로 표시됩니다.

<div id="iceStatus"></div>

예제에 사용된 이벤트 핸들러는 아래와 같습니다:

pc.onicegatheringstatechange = function() {
  let label = "Unknown";

  switch(pc.iceGatheringState) {
    case "new":
    case "complete":
      label = "Idle";
      break;
    case "gathering":
      label = "Determining route";
      break;
  }
  // HTML에서 id가 "iceStatus"인 요소에 label 값을 지정
  document.getElementById("iceStatus").innerHTML = label;
}

명세

브라우저 호환성

BCD tables only load in the browser

참조