Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

139
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda