Foros del Web » Programando para Internet » Jquery »

playlist dinamico con etiqueta audio y jquery

Estas en el tema de playlist dinamico con etiqueta audio y jquery en el foro de Jquery en Foros del Web. hola a todos estoy tratando de crear un playlist de audio con jquey y una base de datos mysql para hacer que la lista de ...
  #1 (permalink)  
Antiguo 18/07/2015, 20:12
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 0
Pregunta playlist dinamico con etiqueta audio y jquery

hola a todos estoy tratando de crear un playlist de audio con jquey y una base de datos mysql para hacer que la lista de audio sea dinamica. Tengo hecho algo pero me he encontrado con un problema, utilzo el evento ended cuando finaliza la cancion para recargar un div con la nueva informacion de la base de datos y es ahi cuando me quedo atascado porque el reproductor no pasa a la siguiente cancion. Coloco el codigo que tengo y os agradeceria cualquier sugerencia.
Este es el codigo html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ROCOLA WEB</title>
<link rel="stylesheet" type="text/css" href="css/reproductor.css">
<script type="text/javascript" src="js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="js/xxx.js"></script>
</head>

<body>
<div id="cajageneral">
<div id="divControles">
<button id="btnReproducir" class="botones"><img src="img/reproducir.png"></button>
<button id="btnPausar" class="botones"><img src="img/pausar.png"></button>
<button id="btnAnterior" class="botones"><img src="img/anterior.png"></button>
<button id="btnSiguiente" class="botones"><img src="img/siguiente.png"></button>
<button id="btnBajarVolumen" class="botones"><img src="img/bajar-volumen.png"></button>
<button id="btnSubirVolumen" class="botones"><img src="img/subir-volumen.png"></button>
<button id="btnSilencio" class="botones"><img src="img/silencio.png"></button>
<button class="botones1"><div id="contador"></div></button>
</div>
<div id="divProgreso">
<div id="divBarra"></div>
</div>
<audio id="audio" ></audio>
<div id="divLista">
<ol id="olCanciones">
<?php
include ('conectar.php');
$sql ="SELECT * FROM sesion, musica where sesion.id_cancion = musica.id_cancion ";
$enviar = mysql_query($sql, $conectar);
while ($dato=mysql_fetch_array($enviar)) {
?>
<li rel="musica/<?php echo $dato ['ubicacion'];?>"><strong><?php echo $dato ['titulo'];?></strong></li>
<?php
}
mysql_free_result($enviar);
mysql_close($conectar);
?>
</ol>
</div>
</div>
</body>
</html>

aqui el archivo xxx.js
$(document).ready(function(){

var audio = $('audio')[0];

var cancionactual=0;


//evento que se dispara al finalizar la reproduccion

$("#audio").on('ended', function(){
$("#divLista").load(reca.php);
$.siguiente();

});


$.reproducir = function(){


var objContenedorCancion=$('#olCanciones li').eq(cancionactual);

audio.src=objContenedorCancion.attr('rel');

objContenedorCancion.addClass('reproduciendo').sib lings().removeClass('reproduciendo');

audio.play();

};

//reproducir el siguiente archivo de la lista
$.siguiente = function(){

if(cancionactual<$('#olCanciones li').length-1){

cancionactual++;
}else{
cancionactual=0;
}
$.reproducir();
};

//reproducir el anterior archivo de la lista.
$.anterior = function(){

if(cancionactual>=1){
cancionactual--;
}else{
cancionactual=$('#olCanciones li').length-1;
}
$.reproducir();
};
});
Espero que le podais hechar un vistazo, gracias de antemano

Última edición por lord_ajp; 18/07/2015 a las 20:19
  #2 (permalink)  
Antiguo 18/07/2015, 20:27
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: playlist dinamico con etiqueta audio y jquery

Añado tambien el codigo del archivo reca.php
Código PHP:
<ol id="olCanciones">
                <?php
                    
include ('conectar.php');
                    
$sql ="SELECT * FROM sesion, musica where sesion.id_cancion = musica.id_cancion ";
                    
$enviar mysql_query($sql$conectar);
                    while (
$dato=mysql_fetch_array($enviar)) {
                
?>
                    <li rel="musica/<?php echo $dato ['ubicacion'];?>"><strong><?php echo $dato ['titulo'];?></strong></li>
                <?php        
                    
}
                    
mysql_free_result($enviar);
                    
mysql_close($conectar);
                
?>
</ol>
  #3 (permalink)  
Antiguo 19/07/2015, 10:08
 
Fecha de Ingreso: julio-2015
Mensajes: 3
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: playlist dinamico con etiqueta audio y jquery

He encontrado algo de informacion en san google, y creo que hay puede estar el fallo, resulta que cuando recargo el div con la consulta hecha a la base de datos añado nuevos elementos al dom a los cuales no puedo atribuirles nuevos eventos oero no tengo muy claro como resolver el problema. Coloco algo mas de codigo para los botones por si alguien lo quiere ver funcionando.

Código HTML:
//clic en el boton play
$('#btnReproducir').on('click',function(){
	$.reproducir();
});
//clic en el boton pausa
$('#btnPausar').on('click',function(){
	audio.pause();
});
//subir el volumen del reproductor
$('#btnSubirVolumen').on('click',function(){
	if(audio.volume!=1) audio.volume+=0.1;
});
	
//bajar el volumen de la reproduccion
$('#btnBajarVolumen').on('click',function(){
	if(audio.volume!=0) audio.volume-=0.1;
});
//clic en el boton silencio
$('#btnSilencio').on('click',function(){
	audio.muted=!audio.muted;
});
//clic en el boton siguente
$('#btnSiguiente').on('click',function() {
    $.siguiente();
});
//clic en el boton anterior
$('#btnAnterior').on('click',function() {
    $.anterior();
});

$(document).keydown(function(tecla){
	tecla.preventDefault();
	//tecla derecha
    if (tecla.keyCode == 39) { 
        $.siguiente();
    //tecla izquierda    
    } if (tecla.keyCode == 37) {
    	$.anterior();
    // tecla espacio	
    } if (tecla.keyCode == 32) {
    	audio.playPause();
    // subir volumen	
    } if (tecla.keyCode == 38) {
		if(audio.volume!=1) audio.volume+=0.1;
	// bajar volumen
    } if (tecla.keyCode == 40) {
		if(audio.volume!=0) audio.volume-=0.1;
	}
});
y el archivo .css
Código HTML:
body{
	font: normal 12px Tahoma, Verdana, Arial, sans-serif;
	background: #f1f1f1;
}
#cajageneral {
	border-radius: 5px;
	border: 8px ridge;
	width: 800px;
	margin: 0 auto;
}

.botones {
	margin: 2px;
}
.botones1 {
	margin: 2px;
}

#divControles{
	text-align: center;
}

#contador {
	background-color: black;
 	color: green;
 	width: 96px;
 	height: 48px;
	border-radius: 3px; 
 }
#divProgreso{
	height: 15px;
			margin: 10px;
			border: inset 1px #f1f1f1;
			border-radius: 3px;
			overflow: hidden;
}

#divBarra{
				width: 0;
				height: 100%;
				background: #FF7E8A;
				border-right: solid 2px #f00;
}

#divLista{
			padding: 5px;
			overflow-x: auto;
			height: 400px;
			color: #777;
			font-size: 11px;
		}
			#divLista ol{
				padding-left: 10px;
			}
#divLista ol li{
					border-bottom: dashed 1px #f1f1f1;
					padding: 5px;
					cursor: pointer;
					border-radius: 3px;
				}
					#divLista ol li:hover{
						background: #FF7E8A;
						color: #fff;
						text-shadow: 1px 1px 1px #000;
					}
					#divLista ol li.reproduciendo{
						background: #21BFF2;
						color: #fff;
						text-shadow: 1px 1px 1px #000;
					}
					#divLista ol li:last-child{
						border-bottom: none;
					}
					
	

Etiquetas: html5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:35.