script pour récuperer nom de l'artiste et titre

Plus anciens d’abord Plus récents d’abord

2 messages · 7 028 vues · ouvert

Ce sujet faisait partie des archives de l’ancien forum. Son premier et son dernier message ont été repris ; les réponses intermédiaires n’ont pas pu être récupérées.

darwennNouveau Membre
·5 messages

Bonjour, j'ai fait le tour de tout ce que j'ai pu trouver sur le net mais rien ne semble fonctionner.

Voila je cherche à récuperer et afficher sur mon site le contenu du titre diffusé en stream icecast

mon serveur est herbergé ailleurs, donc je n'ai pas accés aux fichiers xsl de icecast, sauf pour la visualisation classique du fichiers statuts.xsl par exemple ( titre en cours, auditeurs etc ..) et je voudrai récuperer ces infos dans un script sur mon site pour mettre à jour le titre en cours à chaque fois.

J'ai trouvé des scripts qui le font, mais soit ils ne fonctionnent pas, soit ils sont devenus obsolètes ( 2005 à 2008 ).

mon serveur est un icecast2

pouvez vous m'aider ?

merci.

Vous avez quelque chose à dire ?

Connectez-vous ou créez un compte pour répondre, en texte ou en message vocal.

darwennNouveau Membre
·5 messages

J'ai testé le script de caramaniaca, ça fonctionne en effet, mais comme le script est herbergé on ne peut pas travailler avec l'information reçue; on ne peut juste que l'afficher.

Comme je suis certain que cela servira à d'autres, voila un script qui fonctionne trés bien sur un serveur icecast 2

<?php

/*

* SCRIPT CONFIGURATIONS

*/

$SERVER = 'http://adresse_serveur_icecast.com:port; //URL TO YOUR ICECAST SERVER Ex : http://webradio.com:9000

$STATS_FILE = '/status.xsl'; //PATH TO STATUS.XSL PAGE YOU CAN SEE IN YOUR BROWSER (LEAVE BLANK UNLESS DIFFERENT)

///////////////////// END OF CONFIGURATION --- DO NOT EDIT BELOW THIS LINE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

//create a new curl resource

$ch = curl_init();

//set url

curl_setopt($ch,CURLOPT_URL,$SERVER.$STATS_FILE);

//return as a string

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

//$output = our stauts.xsl file

$output = curl_exec($ch);

//close curl resource to free up system resources

curl_close($ch);

//build array to store our radio stats for later use

$radio_info = array();

$radio_info['server'] = $SERVER;

$radio_info['title'] = '';

$radio_info['description'] = '';

$radio_info['content_type'] = '';

$radio_info['mount_start'] = '';

$radio_info['bit_rate'] = '';

$radio_info['listeners'] = '';

$radio_info['most_listeners'] = '';

$radio_info['genre'] = '';

$radio_info['url'] = '';

$radio_info['now_playing'] = array();

$radio_info['now_playing']['artist'] = '';

$radio_info['now_playing']['track'] = '';

//loop through $ouput and sort into our different arrays

$temp_array = array();

$search_for = "<td\s[^>]*class=\"streamdata\">(.*)<\/td>";

$search_td = array('<td class="streamdata">','</td>');

if(preg_match_all("/$search_for/siU",$output,$matches)) {

foreach($matches[0] as $match) {

$to_push = str_replace($search_td,'',$match);

$to_push = trim($to_push);

array_push($temp_array,$to_push);

}

}

//sort our temp array into our ral array

$radio_info['title'] = $temp_array[0];

$radio_info['description'] = $temp_array[1];

$radio_info['content_type'] = $temp_array[2];

$radio_info['mount_start'] = $temp_array[3];

$radio_info['bit_rate'] = $temp_array[4];

$radio_info['listeners'] = $temp_array[5];

$radio_info['most_listeners'] = $temp_array[6];

$radio_info['genre'] = $temp_array[7];

$radio_info['url'] = $temp_array[8];

$radio_info['current_song'] = $temp_array[9];

$x = explode(" - ",$temp_array[9]);

$radio_info['now_playing']['artist'] = $x[0];

$radio_info['now_playing']['track'] = $x[1];

$auditeurs=$radio_info['listeners'];

$nom_radio=$radio_info['title'];

$description=$radio_info['description'];

$current_song=$radio_info['current_song'];

echo "auditeurs = $auditeurs";

echo"<br>";

echo "nom radio = $nom_radio";

echo"<br>";

echo "description= $description";

echo"<br>";

echo "titre en cours = $current_song";

echo"<br>";

?>

Vous avez tout lu.2 messages affichés sur 2