---
title: RTCIceTransport
slug: Web/API/RTCIceTransport
tags:
- API
- Audio
- Interface
- RTCIceTransport
- Referencia
- Video
- WebRTC
- WebRTC API
- rtc
translation_of: Web/API/RTCIceTransport
---
{{APIRef("WebRTC")}}
A interface RTCIceTransport
fornece informação a respeito da camada de transporte {{Glossary("ICE")}} na qual os dados estão sendo enviados e recebidos. Isso é particulamente útil se você precisa acessar as informações de estado da conexão.
Propriedades
A interface RTCIceTransport
herda propriedades de sua interface pai, {{domxref("EventTarget")}}. ele também oferta as seguintes propriedades:
- {{domxref("RTCIceTransport.component", "component")}} {{ReadOnlyInline}}
- O componente ICE que esta sendo usado pela transporte. O valor é uma das strings do {{domxref("RTCIceTransport")}} tipo enumerável:
{{Glossary("RTP", '"RTP"')}}
ou "RTSP"
.
- {{domxref("RTCIceTransport.gatheringState", "gatheringState")}} {{ReadOnlyInline}}
- O {{domxref("DOMString")}} indica em qual estado de recolhimento o agente ICE esta atualmente. O valor é um dos incluidos no {{domxref("RTCIceGathererState")}} tipo enumerável:
"new"
, "gathering"
, ou "complete"
.
- {{domxref("RTCIceTransport.role", "role")}} {{ReadOnlyInline}}
- Retorna uma {{domxref("DOMString")}} cujo valor é um membro do tipo enumerável {{domxref("RTCIceRole")}}:
"controlling"
ou "controlled"
; Isso indica se o agente ICE é aquele que toma a decisão final quanto ao par candidato a ser usado ou não.
- {{domxref("RTCIceTransport.state", "state")}} {{ReadOnlyInline}}
- O {{domxref("DOMString")}} indica qual o atual estado do agente ICE. O valor do
state
pode ser usado para determinar se o agente ICE fez uma conecxão inicial usando uma par de candidatos viável ("connected"
), fez a seleção final do par de candidatos ("completed"
), ou em um estado de erro ("failed"
), além de outros estados. Veja o tipo enumerável {{domxref("RTCIceTransportState")}} para uma lista completa de estados.
Métodos
Também inclui métodos da interface pai {{domxref("EventTarget")}}.
- {{domxref("RTCIceTransport.getLocalCandidates", "getLocalCandidates()")}}
- Retorna um array de objetos {{domxref("RTCIceCandidate")}}, cada descrevendo um dos candidatos ICE que foram reunidos para o dispositivo local até o momento. Esses são os mesmos candidatos que já foram enviados para o peer remoto, enviando um evento {{event("icecandidate")}} ao {{domxref("RTCPeerConnection")}} para transmissão.
- {{domxref("RTCIceTransport.getLocalParameters", "getLocalParameters()")}}
- Retorna o objeto {{domxref("RTCIceParameters")}} descrevendo o parâmetro ICE estabelecido através de uma ligação ao método {{domxref("RTCPeerConnection.setLocalDescription()")}}. Retorna
null
se os parâmetros ainda não foram recebidos.
- {{domxref("RTCIceTransport.getRemoteCandidates", "getRemoteCandidates()")}}
- Retorna um array de objetos {{domxref("RTCIceCandidate")}}, um para cada candidato do dispositivo remoto, que foram recebidos pelo local final da {{domxref("RTCPeerConnection")}} e entrega ao ICE através da chamada {{domxref("RTCPeerConnection.addIceCandidate()", "addIceCandidate()")}}.
- {{domxref("RTCIceTransport.getRemoteParameters", "getRemoteParameters()")}}
- Retorna um objeto {{domxref("RTCIceParameters")}} contendo os parâmetros ICE para o dispositivo remoto, como definido por uma chamada para {{domxref("RTCPeerConnection.setRemoteDescription()")}}. Se
setRemoteDescription()
não foi chamada ainda, o retorno será null
.
- {{domxref("RTCIceTransport.getSelectedCandidatePair", "getSelectedCandidatePair()")}}
- Retorna um objeto {{domxref("RTCIceCandidatePair")}} que identifica os dois candidatos — um para cada conexão — que foram selecionados até o momento. É possível que um par melhor sejá encontrado e selecionado posteriormente; Se você precisar acompanhar isso, veja o evento {{event("selectedcandidatepairchange")}}. Se nenhum par de candidatos foi selecionado ainda o valor retornado será
null
.
Eventos
Escute esses eventos usando {{domxref("EventTarget.addEventListener", "addEventListener()")}} ou atribuindo um event listener para oneventname
propriedade dessa interface.
- {{domxref("RTCIceTransport.gatheringstatechange_event", "gatheringstatechange")}}
- Enviado ao objeto {{domxref("RTCIceTransport")}} para indicar que o valor da propriedade {{domxref("RTCIceTransport.gatheringState", "gatheringState")}} foi alterado, indicando uma mudança no processo de negociação de candidatos ICE deste transporte.
Também esta disponível através da propriedade event handler {{domxref("RTCIceTransport.ongatheringstatechange", "ongatheringstatechange")}}.
- {{domxref("RTCIceTransport.selectedcandidatepairchange_event", "selectedcandidatepairchange")}}
Enviado para o RTCIceTransport
quando um novo, melhor par de candidatos foi selecionado para descrever a conectividade entre os dois peers. Isso pode ocorrer durante a negotiação ou a renegociação, incluindo depois de um ICE restart, que reusa os objetos RTCIceTransport
existentes. O par de candidatos atuais pode ser obtido usando {{domxref("RTCIceTransport.getSelectedCandidatePair", "getSelectedCandidatePair()")}}.
Também esta disponível através da propriedade event handler {{domxref("RTCIceTransport.onselectedcandidatepairchange", "onselectedcandidatepairchange")}}.
- {{domxref("RTCIceTransport.statechange_event", "statechange")}}
- Enviado par a instancia do
RTCIceTransport
quando o valor da propriedade {{domxref("RTCIceTransport.state", "state")}} foi alterada, indicando que o processo de recolhimento ICE mudou de estado.
Também esta disponível através da propriedade event handler {{domxref("RTCIceTransport.onstatechange", "onstatechange")}}.
Especificação
Especificação |
Status |
Comentário |
{{SpecName('WebRTC 1.0', '#dom-rtcicetransport', 'RTCIceTransport')}} |
{{Spec2('WebRTC 1.0')}} |
Definição initial. |
Compatibilidade de Browser
A tabela de compatibilidade nesta página é gerada por meio de dados estruturados. Se você deseja contribuir com os dados, por favor dê uma olhada em
https://github.com/mdn/browser-compat-data e envie-nos um pull request.
{{Compat("api.RTCIceTransport")}}