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

148
Visualizações
Convierta la carga NewVideoById de YouTube en asincrónica

Estoy construyendo una plataforma para la visualización simultánea de video multiusuario. Para lograr esto, estoy usando la API iframe de youtube que tiene una función loadNewVideoById que le permite actualizar el video dentro del objeto del reproductor y, por lo tanto, ver un nuevo video.

Construí mi propio control deslizante de tiempo que se supone que toma la duración del nuevo video e inicializa el atributo máximo del control deslizante de rango, que representa el tiempo.

Aquí está la función que está manejando esa parte.

 function initSliderAndTime() { setTimeout(() => { var durationInSeconds = player.getDuration() $('#time-slider').attr('max', player.getDuration().toString().match(/^-?\d+(?:\.\d{0,1})?/)[0]) $('#end-time')[0].innerText = calculateTimeFormat(durationInSeconds); }, 2000); }

que se llama en la función loadNewVideo (no desde youtube) que se llama cuando un usuario quiere ver un nuevo video.

 function loadNewVideo(videoId, unMute, startSeconds) { player.loadVideoById({videoId: videoId, startSeconds: startSeconds | 0, }); $('#video-input')[0].value = "https://www.youtube.com/watch?v=" + videoId; if(unMute) { player.unMute() $('#mute-unmute-btn').children().removeClass('fa-volume-xmark'); $('#mute-unmute-btn').children().addClass('fa-volume-high') } showVideoControls(); initSliderAndTime(); forwardingInterval = setInterval(function () { updateSliderAndTime() }, 100); }

Si no configuro un tiempo de espera lo suficientemente grande, la función del objeto getDuration no se carga lo suficientemente rápido y la función falla.

Youtube tiene una función OnReadyFuntion que se supone que maneja el reproductor cuando se crea. Desafortunadamente, esta función no se llama cuando se actualiza el reproductor, solo cuando se crea.

¿Cómo se puede reconfigurar esto para que ejecute la función initSlider cuando getDuration esté listo?

¡Cualquier ayuda es apreciada!

about 4 years ago · Juan Pablo Isaza
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