Aller au contenu

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


darwenn

Messages recommandés

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.

Lien vers le commentaire
Partager sur d’autres sites

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>";

?>

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...