¿Cómo hacer funcionar este script php?

  • Autor Autor sarco
  • Fecha de inicio Fecha de inicio
S

sarco

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola amigos estoy bregando desde hace ratos con este codigo no e podido lograr lo solicitado
tengo el siguiente codigo el cual me arroja los resultados de de un sistema de busqueda de archivos mp3
aqui dejo demo Descargar musica MP3 y Escuchar musica Online GRATIS -
para mejor entendimiento

lo que quiero es que al darle clic a reproducir lo reproduzca en un div que contenga la etiqueta <audio>

como ver el script arroja todos los resultados cada uno con el botón de reproducir el problema que al darle clic en reproducir a una cancion por ejemplo funciona bien pero a la hora de querer escuchar otra la anterior no se pausa 🙁 pero no quiero que funcione asi
no se si me explico

PHP:
<?php
$query = 'http://api.soundcloud.com/tracks.json?client_id='.$scid.'&q='.$sq.'&limit='.$results;
$response = file_get_contents($query);
$data = json_decode($response, true);
 


if (!empty($data)) {
  echo '
  <!-- Hay un total de '.count($data).' canciones. -->';
    foreach($data as $sound){if(!empty($sound['stream_url'])){echo '
        <div class="song">
<strong> '.$sound['title'].'</strong>
<a class="right button button-green button-icon-compartir" id="shareButton_1" href="javascript:;" title="Compartir '.$sound['title'].'">Compartir</a>
<a class="right button button-pink button-icon-descargar" rel="nofollow" href="download.php?n='.$sound['title'].'&t='.$sound['stream_url'].'?client_id='.$scid.'" title="Descargar '.$sound['title'].'">Descargar</a>
<a class="right button button-blue button-icon-reproducir" href="javascript:;"    title="Escuchar '.$sound['title'].'">Reproducir</a>
  
<div class="clear">&nbsp;</div>
<div class="reproducir" id="boxPlayer_1" >
 
<div id="embedPlayer_1" class="embedPlayer" style="height: 115p<; background: #000;">
<embed id="player"  controls src="'.$sound['stream_url'].'?client_id='.$scid.'" width="300" height="60" ></embed>

</div>
 
</div>
</div>';

 

}
    }
  } else {
    echo 'Hubo un drama, no podemos continuar. '.$data['error'];
    exit;
  }


les agradecería su ayuda amigos muchas gracias por tomarse la molestia de pasarse por mi tema
 

Adjuntos

Última edición:
PHP:
$songs = json_decode(file_get_contents('http://api.soundcloud.com/tracks.json?client_id=5f2b5fc97dfa8f9993ad6bec9c6bbeb8&q=kase+o+libertad&limit=13'), true);

foreach($songs as $song)
{
	if ( !isset($song['stream_url']) ) continue;

	echo $song['title'] 
		.'<span class="player-container">'
		.'  <a href="" class="btn-play"> [ Play ]</a>'
		.'  <div class="player" style="display:none"><audio class="audio" controls><source src="'. $song['stream_url'] .'?client_id=5f2b5fc97dfa8f9993ad6bec9c6bbeb8" type="audio/mpeg"></audio></div>'
		.'</span>'
		.'<br /><br />';
}

Insertar CODE, HTML o PHP:
$(document).ready(function()
{
	$('.btn-play').click(function(e)
	{
		e.preventDefault();

		$('.player').hide();

		$('.audio').each(function()
		{
			$(this).get(0).pause();
			$(this).prop('currentTime', '0');
		});

		$(this).closest('.player-container').find('.player').show();

		$(this).closest('.player-container').find('.audio').get(0).play();
	});
});
 
Última edición:

Gracias Hugo voy a probar te agradezco por tomarte la molestia de pasarte por mi problema saludos amigo 🙂

- - - Actualizado - - -

Amigo hugo implemente el codigo que me lograstes al final me quedo asi

PHP:
<?php
$songs = json_decode(file_get_contents('http://api.soundcloud.com/tracks.json?client_id='.$scid.'&q='.$sq'&limit='.$results), true);

foreach($songs as $song)
{
    if ( !isset($song['stream_url']) ) continue;

    echo $song['title'] 
        .'<span class="player-container">'
        .'  <a href="" class="btn-play"> [ Play ]</a>'
        .'  <div class="player" style="display:none"><audio class="audio" controls><source src="'. $song['stream_url'] .'?client_id='.$scid.'" type="audio/mpeg"></audio></div>'
        .'</span>'
        .'<br /><br />';



?>

<script> $(document).ready(function()
{
	$('.btn-play').click(function(e)
	{
		e.preventDefault();

		$('.player').hide();

		$('.audio').each(function()
		{
			$(this).get(0).pause();
			$(this).prop('currentTime', '0');
		});

		$(this).closest('.player-container').find('.player').show();

		$(this).closest('.player-container').find('.audio').get(0).play();
	});
});
</script>

lo guardo pero a la hora de una busqueda no hace nada que estara mal?
 
Última edición:
Agregaste el jQuery?

Insertar CODE, HTML o PHP:
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
 
Te faltaba un punto aca

PHP:
$songs = json_decode(file_get_contents('http://api.soundcloud.com/tracks.json?client_id='. $scid .'&q='. $sq .'&limit='. $results), true);

Para adaptarlo a tu diseño considera las clases player-container, btn-play, player y audio.
 
Última edición:
Genial ahora si muestra los resultados pero no reproduce
 
mmm no se que puede ser, a mi me funciona bien.
 
te reproduce ?
 
Sí, fijate si usaste bien las clases.
 
me podrias mandar un cap de donde te aparece el reproductor

- - - Actualizado - - -

Sí, fijate si usaste bien las clases.
las clases estan como las dejastes le doy vueltas pero no logro reproducir nada :s
como es que tu si ?