--- title: RTCPeerConnection.onicegatheringstatechange slug: Web/API/RTCPeerConnection/onicegatheringstatechange translation_of: Web/API/RTCPeerConnection/onicegatheringstatechange ---

{{APIRef("WebRTC")}}{{SeeCompatTable}}

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

Syntax

RTCPeerConnection.onicegatheringstatechange = eventHandler;

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

예시

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

이 상태는 {{HTMLElement("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;
}

명세

명세 상태 코멘트
{{ SpecName('WebRTC 1.0', '#widl-RTCPeerConnection-onicegatheringstatechange', 'RTCPeerConnection.onicegatheringstatechange') }} {{ Spec2('WebRTC 1.0') }} Initial specification.

브라우저 호환성

{{Compat("api.RTCPeerConnection.onicegatheringstatechange")}}

참조