RTCIceCandidate
interface's read-only
priority
property specifies the candidate's priority according to the remote peer; the higher this value is, the better the remote peer considers the candidate to be.
As is the case with most of
RTCIceCandidate
's properties, the value of
priority
is extracted from the
candidate
a-line string specified when creating the
RTCIceCandidate
. The a-line string is obtained either from the
RTCIceCandidateInit
property
candidate
or from an a-line string passed into
RTCPeerConnection.addIceCandidate()
而不是
RTCIceCandidate
.
var priority = RTCIceCandidate.priority;
A long, unsigned integer value indicating the priority of the candidate according to the remote peer. The larger this value is, the more preferable the remote peer considers this candidate to be.
priority
is initialized to
null
if it is not specified in the
candidate
, or if the
candidate
string can't be parsed propertly.
注意:
若
priority
is
null
, passing the candidate to
addIceCandidate()
will fail, throwing an
OperationError
exception. This applies only if the candidate implements the
priority
特性。
Consider this SDP attribute line (a-line) which describes an ICE candidate:
a=candidate:4234997325 1 udp 2043278322 192.168.0.56 44323 typ host
The priority is the number after the protocol, so it's the fourth field in the candidate string. In this example, the priority is 2043278322.
This candidate examines the
priority
of the candidate and, if it's greater than the priority of a previously-seen candidate, remembers the candidate for later use.
var bestCandidate = {
candidate: "",
sdpMid: null,
sdpMLineIndex: null,
priority: 0
};
function handleCandidate(candidateString) {
var candidate = new RTCIceCandidate(candidateString);
if (candidate.priority > bestCandidate.priority) {
bestCandidate = candidate;
}
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
WebRTC 1.0: Real-time Communication Between Browsers
The definition of 'RTCIceCandidate.priority' in that specification. |
候选推荐 | 初始定义。 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
priority
|
Chrome 74 | Edge ≤18 | Firefox 不支持 No | IE 不支持 No | Opera 不支持 No | Safari ? | WebView Android 74 | Chrome Android 74 | Firefox Android 不支持 No | Opera Android 不支持 No | Safari iOS ? | Samsung Internet Android 11.0 |
完整支持
不支持
兼容性未知
RTCIceCandidate
MediaDevices.getUserMedia()
Navigator.mediaDevices
RTCCertificate
RTCDTMFSender
RTCDTMFToneChangeEvent
RTCDataChannel
RTCDataChannelEvent
RTCDtlsTransport
RTCErrorEvent
RTCIceTransport
RTCPeerConnection
RTCPeerConnectionIceErrorEvent
RTCPeerConnectionIceEvent
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
RTCSctpTransport
RTCSessionDescription
RTCStatsEvent
RTCStatsReport
RTCTrackEvent