entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

3votos

librería audio.js, crear botón next

Hola a todos.
Quería comentar si alguien había utilizado alguna vez la librería javascript "audio.js". Es muy vistosa, lo único que la librería no incluye un botón next con la lista de reproducción, y igual alguien la había usado y me podía orientar para hacerla. Gráficamente lo tengo preparado, lo que me falta es crear la función, etc......
También había pensado de poner yo un botón, lo único que no querría recargar la página entera cada vez que se pase la canción. La clave sería en cambiar el src de

<audio class="audio-js" controls preload>
          <source src="https://db.tt/8aD745gp" type="audio/mp3">
        </audio>

sin tener que recargar la web completa. Tener los enlaces en un array, y ir cambiándolos. Pero no se si esto se puede hacer.
enter image description here

1 Respuesta

3votos

Leonardo-Tadei Puntos227320

Hola @nachito777sk

este código hace el avance a la próxima canción definida en una lista:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>audio.js</title>
    <script>var _gaq=[['_setAccount','UA-20257902-1'],['_trackPageview']];(function(d,t){ var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; g.async=1;g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script>
    <script src="./audiojs/audio.min.js"></script>
    <link rel="stylesheet" href="./includes/index.css" media="screen">
    <script>
      audiojs.events.ready(function() {
        audiojs.createAll();
      });
      var dir = 'audio/';   // directorio con el audio
      var music = ['Queves.mp3', 'Ruta76.mp3', 'Vendaval.mp3'];
      var actual = 0;

      function init(){
        div = document.getElementById('music');
        for(i=0; i < music.length; i++){
            div.innerHTML += music[i]+'<br />';
        }  
      }
      function next(){
          actual++;
          if(actual > music.length -1){ actual=0; }
          song = music[actual];
          player = document.getElementById('player');
          player.pause();
          player.src = dir+song;
          player.play();
      }
    </script>
  </head>
  <body onload="init()">
    <header>
      <h1>audio.js</h1>
    </header>

    <audio src="audio/Queves.mp3" preload="auto" id="player"></audio>
    <a href="javascript:next()">Siguiente</a>
    <div id="music"></div>

  </body>
</html>

Puse la lista de temas en el directorio audio/ y los cargo en un vector para procesarlos.

Lo que faltaría hacer es que se actualice la duración del tema, ya que así como está, no se recarga... sin embargo, tal vez te convenga fijarte cómo funcionan los playlist de la documentación oficial de la biblioteca en http://kolber.github.io/audiojs/demos/test6.html y ver la versión no minificada del código para poder hackearla mejor http://kolber.github.io/audiojs/docs/... seguramente es más fácil ocultar la lista de temas e irla cambiado redirigiendo un evento para que seleccione el elemento que ver como recargar el tiempo.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta