RTCIceTransport: sự kiện selectedcandidatepairchange

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sự kiện selectedcandidatepairchange được gửi đến RTCIceTransport khi tác nhân ICE chọn một cặp ứng cử viên mới mô tả các điểm cuối của một kết nối khả thi.

Cặp ứng cử viên được mô tả bởi một đối tượng RTCIceCandidatePair chứa một RTCIceCandidate đại diện cho đầu cục bộ của kết nối và một đại diện cho đầu từ xa của kết nối.

Cùng nhau, các ứng cử viên có thể được sử dụng để thiết lập kết nối được dùng bởi RTCIceTransport, và theo đó, bởi RTCPeerConnection.

Sự kiện này không thể hủy và không nổi bong bóng.

Cú pháp

Sử dụng tên sự kiện trong các phương thức như addEventListener(), hoặc đặt thuộc tính trình xử lý sự kiện.

js
addEventListener("selectedcandidatepairchange", (event) => { })

onselectedcandidatepairchange = (event) => { }

Kiểu sự kiện

Một Event chung.

Ví dụ

Ví dụ này tạo một trình xử lý sự kiện cho selectedcandidatepairchange để cập nhật màn hình cung cấp cho người dùng thông tin về tiến trình thương lượng ICE cho một RTCPeerConnection gọi là pc.

js
let iceTransport = pc.getSenders()[0].transport.iceTransport;
let localProtoElem = document.getElementById("local-protocol");
let remoteProtoElem = document.getElementById("remote-protocol");

iceTransport.addEventListener("selectedcandidatepairchange", (ev) => {
  let pair = iceTransport.getSelectedCandidatePair();
  localProtoElem.innerText = pair.local.protocol.toUpperCase();
  remoteProtoElem.innerText = pair.remote.protocol.toUpperCase();
});

Điều này cũng có thể được thực hiện bằng cách đặt trực tiếp thuộc tính trình xử lý sự kiện onselectedcandidatepairchange.

js
let iceTransport = pc.getSenders()[0].transport.iceTransport;
let localProtoElem = document.getElementById("local-protocol");
let remoteProtoElem = document.getElementById("remote-protocol");

iceTransport.onselectedcandidatepairchange = (ev) => {
  let pair = iceTransport.getSelectedCandidatePair();
  localProtoElem.innerText = pair.local.protocol.toUpperCase();
  remoteProtoElem.innerText = pair.remote.protocol.toUpperCase();
};

Thông số kỹ thuật

Specification
WebRTC: Real-Time Communication in Browsers
# event-icetransport-selectedcandidatepairchange
WebRTC: Real-Time Communication in Browsers
# dom-rtcicetransport-onselectedcandidatepairchange

Tương thích trình duyệt

Xem thêm

Các sự kiện RTCIceTransport liên quan

Các sự kiện RTCPeerConnection liên quan