São 03:41 da manhã, não to com paciência pra durmir e nem tenho coragem de ir ficar na frente de casa vendo o povo se matar.
Então resolvi fazer algo útil. =] O sistema foi feito por mim, a idéia foi minha também (Já fiz vários sisteminhas desses).
Pra quem usa o ShoutCast pode até ser últil mesmo.
------------------------------------
...... Requisitos
... Servidor com suporte a PHP
... ShoutCast
... Uma música tocando
------------------------------------
Arquivos de Configuração
... Crie um arquivo no seu servidor, com o nome n_conf.php e bote o seguinte texto nele:
<?php
/*
* n_conf.php @ Seg, 22 mai 2006 - 03:58 Am
* Por JoinTek - Jointekbr@hotmail.com
*/
/*
* Antes de tudo, devemos definir o IP do servidor ShoutCast.
* É onde o sistema vai conectar para pegar os dados dele.
*
* Se o servidor ShoutCast estiver na mesma máquina que este sistema
* Basta colocar: localhost ou 127.0.0.1
* NÃO SE DEVE USAR O http://
*/
$host["addr"] = "000.000.000.000";
/*
* Agora vamos definir a porta do ShoutCast
*
* Padrão: 8000
*/
$host["port"] = "8000";
/*
* Senha do administrador do ShoutCast
*
* Se você não lembra, abra o arquivo SC_SERV.ini que fica na pasta do shoutcast
* e procure pela linha:
* Password: blablabla
*/
$host["pwdr"] = "changeme";
/*
* Agora vamos definir o tempo de espera que a conexão deve aguardar
* antes de mostrar "Fora do Ar" quando o servidor estiver off-line
*
* Padrão: 5
* Aconselho: 10
*/
$host["tout"] = "5";
/*
* Não mude nada a partir daqui.
*/
//Functions...
function GetBw($sVar, $eVar, $jVar) {
$str = '/'.$sVar.'(.*?)'.$eVar.'/';
preg_match($str, $jVar, $rst);
return $rst[1];
}
?>------------------------------------
Sistema
... Crie um arquivo no seu servidor, com o nome música_atual.php e bote o seguinte texto nele (não mude nenhuma letra):
<?
@require("n_conf.php");
$relay["open"] = fsockopen($host["addr"], $host["port"], $en, $es, $host["tout"]);
if ($relay["open"]) {
fputs($relay["open"], "GET /admin.cgi?mode=viewxml&page=1&pass=".$host["pwdr"]." HTTP/1.1\nUser-Agent:Mozilla\n\n");
$relay["read"] = fread($relay[open], "99999");
if (eregi("<SONGTITLE>", $relay["read"])) {
echo "Música Atual: ";
echo '<b>'.GetBw("<SONGTITLE>","<SONGTITLE2>",str_replace("</SONGTITLE>","<SONGTITLE2>",$relay["read"])).'</b>';
echo "<BR>";
}
if (eregi("<ICQ>", $relay["read"])) {
echo "Locutor Atual: ";
echo '<b>'.GetBw("<ICQ>","<ICQ2>",str_replace("</ICQ>","<ICQ2>",$relay["read"])).'</b>';
echo "<BR>";
}
if (eregi("<AIM>", $relay["read"])) {
echo "Programa do Momento: ";
echo '<b>'.GetBw("<AIM>","<AIM2>",str_replace("</AIM>","<AIM2>",$relay["read"])).'</b>';
echo '<BR>';
}
echo '<BR><b class="head">Escute Agora! <a href="http://'.$host["addr"].':'.$host["port"].'/listen.pls">Clique Aqui</a>.</b>';
} else {
echo '<BR><b class="head">Estamos Temporáriamente Off-Line :(</b><BR><BR> ';
}
?>------------------------------------
Método de Ultilização
... Na hora de configurar o source do Winamp, no lugar do AIM você bota o nome do programa e no ICQ você bota o nome do locutor, aí é só botar uma música pra tocar e abrir a página http://www.seusite.c...usica_atual.php
------------------------------------
Dúvidas, problemas ou sugestões é só postar.
Atenção..
Não coloque HTTP:// na variavel do host, se não o script não vai funcionar.
------------------------------------
Changelog
* 25/05/2008 : Alguns erros básicos no script foram consertados.
[]'s
Edição feita por: JoinTek, 25/05/2008, 20:09.










