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

156
Visualizações
¿Cómo accedo a este objeto javascript para la actualización dinámica de src (plyr html5 <audio>

Soy un hack, así que perdóname si esto es obvio.

Estoy incrustando un chatbot en una página html estática y usando eventos en el chat para controlar el archivo fuente para un objeto de audio plyr.io html5. Entonces, por ejemplo, un usuario puede experimentar la reproducción de tres archivos de audio diferentes a través de la misma instancia de plyr.

Tengo el 90% resuelto... y entiendo el paso final, pero no puedo hacer que el código funcione.

Actualmente, el reproductor se inicializa con este script, que actualiza la etiqueta en la página. Supongo que necesito editar este script:

 <script src="https://cdn.plyr.io/3.5.6/plyr.js"></script> <script> document.addEventListener('DOMContentLoaded', () => { const player = Plyr.setup('.js-player'); }); </script>

Las instrucciones de github para acceder al objeto ofrecen dos opciones:

  1. Dice "La forma más fácil de acceder al objeto Plyr es establecer el valor de retorno de su llamada al constructor a una variable. Por ejemplo:"

    const jugador = new Plyr('#jugador', { /* opciones */ });

  2. "también se puede acceder a través de cualquier evento:"

    element.addEventListener('ready', event => { const player = event.detail.plyr; });

(desde este punto en los documentos de github: https://github.com/sampotts/plyr#object )

Entiendo lo suficiente como para saber que los dos métodos que describen necesitan reemplazar la línea "const" en el código de inicialización de vainilla, pero poco más allá de eso. Y simplemente no estoy haciendo que funcione. Por ejemplo, cuando pongo player.play(); en la consola me sale:

VM1471: 1 TypeError no detectado: player.play no es una función en: 1: 8

Para que conste, la función específica que estoy tratando de usar para actualizar el src es:

 player.source = { type: 'audio', sources: [ { src: 'https://cdn.plyr.io/static/demo/Kishi_Bashi_-_It_All_Began_With_a_Burst.mp3', type: 'audio/mp3', }, ], };

Eso se basa en esto: https://github.com/sampotts/plyr#the-source-setter

Entonces... ¿qué me estoy perdiendo?

¡GRACIAS!

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