SCRIPT pour Webradio

Voir le sujet précédent Voir le sujet suivant Aller en bas

SCRIPT pour Webradio

Message par U115 le Sam 29 Sep - 11:57

Ce matin je suis de bonne humeur, j'ouvre cette section tant attendu, entrez dans l'enfer du code les amis ;-)

Script pour affichage des infos sur son site de sa webradio (a vous le cherchez celui la hihi, il est la!):

Code:
<?
/*   Script d'analyse du fichier XML du serveur ShoutCast ET
   Scrtip d'analyse de la page d'accueil du serveur ShoutCast
   
   Gentil Kiwi / Mai   2006
            / Août   2006
*/

/* Connexion au serveur ShoutCast */
//JAN $serveur   = 'VOTRE IP';      
//JAN $port      = 'VOTRE PORT';   
//JAN $adminpass   = 'VOTRE MOT DE PASS';
include 'serveur.inc.php'; // Si vous avez pas ce fichier de congif enlever les // des trois ligne ci dessus et compléter avec vos coordonnées !
$tab_infos = shoutcast_stats($serveur, $port, $adminpass);
// etat de la connexion au serveur

function connect_cast($host, $port, $password)
{
   $fp = @fsockopen($host, $port, $errno, $errstr, 3);
   
   if(!$fp)
      return false;

   $req = 'GET /' . ($password ? ('admin.cgi?pass=' . $password . '&mode=viewxml') : '');
   
   fputs($fp, $req . " HTTP/1.0\r\nUser-Agent: Kiwi XML Getter (Mozilla Compatible)\r\n\r\n");
   
   $page = '';
   while(!feof($fp))
      $page .= fread($fp, 1000);
   
   fclose($fp);
   return $page;
}

/* Récuperation des données depuis le fichier XML */
function admin_cast($tab_pattern, $tab_source, $multi = false)
{
   foreach($tab_pattern as $key)
   {
      preg_match_all('`<key> $value)      // réorganisation des données sur les clients
         {                                             // avec pour index l'identifiant du client
            $stats['auditeur'][$value]['hote']      = $stat_multiple['hostname'][$key];
            $stats['auditeur'][$value]['useragent']   = $stat_multiple['useragent'][$key];
            $stats['auditeur'][$value]['temps']      = $stat_multiple['connecttime'][$key];
         }
   
         foreach($stat_multiple['playedat'] as $key => $value)            // réorganisation des titres joués avec pour index
            $stats['morceau'][$value]   = $stat_multiple['title'][$key];   // la date de lecture */
   }
   else
   {
         $bazard_shoutcast = ': </font></td><td><font><b>';
         $infos_basic_pattern = array(
         'version'         => 'SHOUTcast Server Version ([1-9\.]+)',
         'servertitle'      => 'Stream Title' . $bazard_shoutcast . '([^<]*)<',
         'serverurl'         => 'Stream URL' . $bazard_shoutcast . '<a href="[^"]*">([^<]*)<',
         'streamstatus'      => 'Server Status' . $bazard_shoutcast . 'Server is currently (up|down)',
         'currentlisteners'   => 'Stream is up at [[:digit:]]+ kbps with <B>([[:digit:]]+) of',
         'maxlisteners'      => 'Stream is up at [[:digit:]]+ kbps with <B>[[:digit:]]+ of ([[:digit:]]+)',
         'peaklisteners'      => 'Listener Peak' . $bazard_shoutcast . '([[:digit:]]+)',
         'songtitle'         => 'Current Song' . $bazard_shoutcast . '([^<]*)<',
         'servergenre'      => 'Stream Genre' . $bazard_shoutcast . '([^<]*)<',
         'content'         => 'Content Type' . $bazard_shoutcast . '([^<]*)<',
         'bitrate'         => 'Stream is up at ([[:digit:]]+) kbps'
      );
      
      /* Restons compatible ;) */
      $stats = info_cast($infos_basic_pattern, $page);
      if ($stats['streamstatus'] != 'up')
         $stats['streamstatus'] = $stats['currentlisteners'] = $stats['maxlisteners'] = $stats['peaklisteners'] = 0;
      else
         $stats['streamstatus'] = 1;
   }
         
   $stats['http_code'] = $tab_code[2];
   return $stats;
}
?>

Code créé par Gentil Kiwi, merci à lui.
Voici son site avec un tuto et des explications:
http://www.gentilkiwi.com/outils-s29-t-connexion-a-une-radio-shoutcast.htm
(Je parie qu'il va débarquer bientot pour me dire que la version que j'ai mis en périmé, coucou Kiwi ;-) )
Il faut entrer dans les variables $serveur, $port, $adminpass, votre ip serveur, le port de diffusion et votre mot de passe (changeme par défaut).
Pour utiliser ce code sur son site il faut avoir un site en php ou un site qui accepte les frame et loger cette page sur un hébergeur en php (free par exemple).

Script afficheur de pochette (par moi meme):
Code:

//Currenttitle doit contenir le titre en cours, cf le code au dessus.   
$tiretpos= strpos($currenttitle,'-');
$recauteur=substr($currenttitle,0,$tiretpos-1);

$urlimage = 'pochettes/'.$tab_infos['songtitle'].'.jpg';


if (isset($urlimage))
{
   if (!file_exists($urlimage))
   {
   $urlimgauteur = 'pochettes/Artistes/'.$recauteur.'.JPG';
      if (!file_exists($urlimgauteur))
      {
      $urlprint='pochettes/defaut.jpg';
      }
      else
      {
      $urlprint=$urlimgauteur;
      }
   }
   else
   {
   $urlprint=$urlimage;
   }
}
else
{
$urlprint='pochettes/defaut.jpg';
}

echo "<center><img src='$urlprint'></center>";
Je donne pas trop de détail à vous de chercher un peu comment ca marche et c'est très simple, ceux qui code un peu comprendront surtout le principe simple et efficace.
A noter une optimisation a faire, avoir un jeu de 5 a 10 image par défaut pour que l'image affiché quand la pochette n'existe pas change de temps en temps.
Bon courage.


Dernière édition par le Sam 29 Sep - 12:12, édité 1 fois
avatar
U115
Admin

Nombre de messages : 1318
Date d'inscription : 01/04/2006

Voir le profil de l'utilisateur http://u115.over-blog.com

Revenir en haut Aller en bas

Re: SCRIPT pour Webradio

Message par U115 le Sam 29 Sep - 12:06

Script pour lire un fichier mp3 stocké sur un ftp avec lemagnifique et prodigieux DEWPLAYER:


Code:
<object width="200" height="20" data="http://www.over-blog.com/_dewplayer.swf?son=http://ddata.over-blog.com/xxxyyy/0/17/92/20/theunderground.mp3" type="application/x-shockwave-flash">
                        <param value="http://www.over-blog.com/_dewplayer.swf?son=http://ddata.over-blog.com/xxxyyy/0/17/92/20/theunderground.mp3" name="movie" /> </object>

N'oublier pas de :
> Primo héberger le dewplayer chez vous (quoi que celui de over blog marche bien ;-)
> de mettre votre musique a vous lol

NOTA: marche pas sur skyblog je crois.
avatar
U115
Admin

Nombre de messages : 1318
Date d'inscription : 01/04/2006

Voir le profil de l'utilisateur http://u115.over-blog.com

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum