Desarrollé una función de videollamadas usando twilio video javascript, todo funciona bien, pero cuando el usuario silencia el video desde el navegador Safari en Mac OS, la página se vuelve a cargar automáticamente y muestra un error . Esta página web se recargó porque ocurrió un problema. A continuación se muestra la función que se llama cuando el audio/video está silenciado/activado:
toggleMedia("video");
function toggleMedia(mediaType) { try { console.log("toggleMedia"); if (!window.room) return; var localMedia = window.room.localParticipant; localMedia.tracks.forEach(function (publication) { if (publication.kind === mediaType) { if (publication.isTrackEnabled) { publication.track.disable(); } else { publication.track.enable(); } } }); } catch (e) { console.log(e); } }Estoy tratando de evitar el enfoque de publicación y anulación de la publicación. ¿Qué tiene de malo track.disable() en Safari?
¡Ayer también me enfrenté a este problema! Este error ya aparece en la lista de problemas comunes .
El error solo aparece al usar el códec H264, por lo que puedes usar el códec VP8 como solución temporal:
import TwilioVideo from 'twilio-video'; await TwilioVideo.connect(token, { name, preferredVideoCodecs: [ 'VP8' ] });En mi caso, el código se ve así:
connect(authHelper.getUserVideoChatToken()?.token, { name:'testRoom', audio: true, video: { facingMode: { exact: (isUsingFrontCamera ? 'environment' : 'user') } }, preferredVideoCodecs: ['VP8'] }).then(...)