Le forum officiel du site, discussions, aide, astuces...
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voilà avec plusieurs copains nous animons à chacun notre tour un petite radio. Nous emettons avec winamp et le DSP shoutcast mais nous ne passons pas par le serveur shoucast mais par un serveur de stream (Ekzay.com). Comme notre radio émet en fonction de l'inspiration de chacun c'est pas évident de savoir quand elle est en marche. Aussi j'aimerais trouver un petit script en php qui m'affiche le titre en cours de diffusion, cela suffira à indiquer aux membres présent sur le forum que quelqu'un a lancé la radio.
J'ai cherché longtemps, mais je ne trouve aucun script qui n'affiche que le titre joué et comme je ne maitrise pas php .......
Si quelqu'un se sent inspiré - MERCI -
Ps parce que j'avais oublié : Si nous envoyons le flux radio au serveur de stream Ekzay.com avec le DSP shoutcast, il semblerait que lui il "diffuse" avec Icecast.
Dernière modification par andre (14-01-2007 04:02:42)
Hors ligne
Bonjour,
Que ce soit pour shoutcast, ou icecast, il faut dans tous les cas avoir un moyen d'accès à une page d'administration ou de statut
Ton nom de serveur + port suffisent normalement pour obtenir ces infos ^^
Hors ligne
Gentil Kiwi a écrit:
Bonjour,
Que ce soit pour shoutcast, ou icecast, il faut dans tous les cas avoir un moyen d'accès à une page d'administration ou de statut
Ton nom de serveur + port suffisent normalement pour obtenir ces infos ^^
J'ai tout ça effectivement Gentil Kiwi, ce que je ne sais pas faire c'est un script en php pour aller chercher la variable "Current song"
Tiens regarde ma page de statut >>>> 
Si tu arrive à me sortir ce petit script je te paye un coup à boire (virtuel bien sur, puisqu' on est sur le net)
Hors ligne
c'est codé tres rapidement, mais essaye donc ca :
<?php
function connect_icecast($host, $port)
{
$fp = @fsockopen($host, $port, $errno, $errstr, 3);
if(!$fp)
return false;
fputs($fp, 'GET /status2.xsl' . " HTTP/1.0\r\nUser-Agent: Kiwi Getter (Mozilla Compatible)\r\n\r\n");
$page = '';
while(!feof($fp))
$page .= fread($fp, 1000);
fclose($fp);
return $page;
}
$page = connect_icecast('stream1.ekzay.com', 9635);
preg_match_all('`, - ([^,]*)`i', $page, $matches);
echo 'Titre du stream numero 1 : <strong>' . $matches[1][0] . '</strong><br />';
echo 'Titre du stream numero 2 : <strong>' . $matches[1][1] . '</strong><br />';
?>Hors ligne
Merci, j'essaye demain (ce soir pas possible) et je te tiens au courant.
Hors ligne
J'ai essayé ton script il marche, merci beaucoup.
Hors ligne
ou met ont ladresse du stream le port et le point de montage ! exemple : http://streaming.radionomy.com:8000/Mod … x-Souvenir
Hors ligne
Pour toi cela sera comme ca :
<?php
function connect_icecast($host, $port){
$fp = @fsockopen($host, $port, $errno, $errstr, 3);
if(!$fp){
return false;
} else {
fputs($fp, 'GET /status2.xsl' . " HTTP/1.0\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)\r\n\r\n");
$page = '';
while(!feof($fp)){
$page .= fread($fp, 1000);
}
fclose($fp);
return $page;
}
}
function kiwi_icecast($host, $port){
$contenu = connect_icecast($host, $port);
$tabChamps = array(3 => 'nom', 4 => 'auditeurs', 5 => 'max', 6 => 'titre');
if ($contenu){
if (preg_match_all('`([[:cntrl:]]/|//::///)([^,]*),([^,]*),([[:digit:]]*),([[:digit:]]*),([^/]*)`', $contenu, $resultat)){
foreach($resultat[2] as $numPoint => $mountName)
foreach ($tabChamps as $index => $champ)
$tabIce[$mountName][$champ] = $resultat[$index][$numPoint];
return $tabIce;
} else {
return false;
}
}
else{
return false;
}
}
$tabIceCast = kiwi_icecast('streaming.radionomy.com', 8000);
if($tabIceCast){
echo '<h1>Ma radio : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['nom'] . '</h1>';
echo 'Utilisateur(s) : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['auditeurs'] . ' (max : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['max'] . ')<br />';
echo 'Titre en cours : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['titre'];
echo '<h2>Toutes les radios :</h2>';
echo '<pre>';
print_r($tabIceCast);
echo '</pre>';
} else {
echo 'Parsing impossible';
}
?>Hors ligne
Ton fournisseur executant php n'autorise peut être pas les connexions sortantes sur certains ports (Free par exemple)
essayes cette version plus bavarde :
<?php
function connect_icecast($host, $port){
$fp = @fsockopen($host, $port, $errno, $errstr, 3);
if(!$fp){
echo 'Impossible de se connecter : "' . $errno . ' - ' . $errstr . '"<br />';
return false;
} else {
fputs($fp, 'GET /status2.xsl' . " HTTP/1.0\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)\r\n\r\n");
$page = '';
while(!feof($fp)){
$page .= fread($fp, 1000);
}
fclose($fp);
return $page;
}
}
function kiwi_icecast($host, $port){
$contenu = connect_icecast($host, $port);
$tabChamps = array(3 => 'nom', 4 => 'auditeurs', 5 => 'max', 6 => 'titre');
if ($contenu){
if (preg_match_all('`([[:cntrl:]]/|//::///)([^,]*),([^,]*),([[:digit:]]*),([[:digit:]]*),([^/]*)`', $contenu, $resultat)){
foreach($resultat[2] as $numPoint => $mountName)
foreach ($tabChamps as $index => $champ)
$tabIce[$mountName][$champ] = $resultat[$index][$numPoint];
return $tabIce;
} else {
echo 'Pas de contenu !<br />';
return false;
}
}
else{
return false;
}
}
$tabIceCast = kiwi_icecast('streaming.radionomy.com', 7000);
if($tabIceCast){
echo '<h1>Ma radio : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['nom'] . '</h1>';
echo 'Utilisateur(s) : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['auditeurs'] . ' (max : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['max'] . ')<br />';
echo 'Titre en cours : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['titre'];
echo '<h2>Toutes les radios :</h2>';
echo '<pre>';
print_r($tabIceCast);
echo '</pre>';
} else {
echo 'Parsing impossible';
}
?>Hors ligne
et maintenant sur free
Impossible de se connecter : "0 - Success"
Parsing impossible
sinon cela fonctionne sur 1&1 mais trop d infos
voici que cela donne http://seblesite.com/icecast.php mais j'aimerai qe le titre
merci a vous
Dernière modification par jawas (06-05-2008 19:12:05)
Hors ligne
tu ne dois pas trop connaitre le PHP toi ^^
if($tabIceCast){
echo 'Titre en cours : ' . $tabIceCast['Modem-Radio-flux-Souvenir']['titre'];
}Hors ligne
en gros comment je peu faire pour faire defiler ce texte dans une autre page web
svp aider moi
merci
-----
up
-----
Personnes Ne Peut M Aider Svp Merci
-----
up
-----
good j'ai reussit en java script
Dernière modification par Gentil Kiwi (14-05-2008 01:04:49)
Hors ligne
Pages: 1