A
selectedcandidatepairchange
event is sent to an
RTCIceTransport
当
ICE
agent selects a new pair of candidates that describe the endpoints of a viable connection.
The pair of candidates is in turn described by an
RTCIceCandidatePair
object which contains one
RTCIceCandidate
representing the local end of the connection, and another representing the remote end of the connection.
Together, the candidates can be used to establish a connection to be used by the
RTCIceTransport
, and, by extension, by an
RTCPeerConnection
.
| 冒泡 | No |
|---|---|
| 可取消 | No |
| 接口 |
事件
|
| 事件处理程序特性 |
onselectedcandidatepairchange
|
This example creates an event handler for
selectedcandidatepairchange
that updates a display providing the user information about the progress of the ICE negotiation for an
RTCPeerConnection
called
pc
.
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();
}, false)
This can also be done by setting the
onselectedcandidatepairchange
event handler property directly.
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();
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'selectedcandidatepairchange' in that specification. |
候选推荐 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
selectedcandidatepairchange
event
|
Chrome No | Edge No | Firefox No | IE No | Opera No | Safari No | WebView Android No | Chrome Android No | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android No |
不支持
negotiationneeded
signalingstatechange
iceconnectionstatechange
icegatheringstatechange
connectionstatechange
RTCIceTransport
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannel
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceCandidate
RTCPeerConnection
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent