Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

138
Visualizações
Los candidatos de ICE no generan en Android 11 Chrome en algunos dispositivos

Al probar WebRTC, descubrí que está creando problemas en algunos dispositivos Android que tienen Android 11 (principalmente Samsung, Vivo) en Chrome. Sin embargo, funciona bien en Firefox en el mismo dispositivo. Probé en Samsung Galaxy A03s (SM-A037F).

Intenté esto: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ En Chrome, los candidatos no se reúnen, pero en Firefox, los candidatos se reúnen.

Encontré un error similar en el rastreador de errores de Chromium: https://bugs.chromium.org/p/chromium/issues/detail?id=1115498 Aún parece que el problema no está solucionado.

¿Cómo podemos hacer que funcione en el navegador Chrome? Por favor ayuda.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El mismo problema. Si intenta establecer iceCandidatePoolSize = 10 en la configuración de RTCPeerConnection, onicecandidate se activa una vez con un candidato vacío, iceConnectionState cambia al estado conectado.

Luego observo los transceptores pc.getTransceivers()[0].sender.transport.iceTransport

meetingState: estado "completo": "conectado"

pc.getTransceivers()[0].sender.transport.iceTransport.getSelectedCandidatePair() ¡Éxito! ¡Hay un par seleccionado!

Pero pc.connectionState todavía tiene un estado de conexión y se cuelga sin cesar...

Probé con conexiones wifi y gsm... ¡No entiendo nada!

Comprobado en otros dispositivos en la misma red (wifi):

Android 11 - Samsung Galaxy M12 - Éxito
Android 11 - Samsung Galaxy TAB A (2019) - Éxito
Android 11 - Samsung Galaxy A22 (mi) - FALLA

Solución para mí :

 let pc = new RTCPeerConnection({iceCandidatePoolSize: 1}) //any > 0 pc.oniceconnectionstatechange = function(){ if(pc.iceConnectionState === "connected") { for (let tr of pc.getTransceivers()) { let selected = tr.sender.transport.iceTransport.getSelectedCandidatePair(); if (selected) { //send selected.local to you server... } } } }

Error de cromo:
https://bugs.chromium.org/p/chromium/issues/detail?id=1240237

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que tengo un trabajo para esto. Solo sucede en la primera conexión webrtc: funciona al volver a intentarlo, así que agregué este código a mi proyecto y parece solucionarlo:

 fixAndroid = function (turn) { console.log("fixing android webrtc bug"); var cn = new RTCPeerConnection(turn, null); cn.createOffer({ offerToReceiveAudio: true, offerToReceiveVideo: true }).then(offer => { let rtcDesc = new RTCSessionDescription(offer); cn.setLocalDescription(rtcDesc, function () { //needs a second to initialise window.setTimeout(function (cn) { cn.close(); // start your webrtc connection here }, 1000, cn) }); }); }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda