Andrea Beggi

These aren't the droids you're looking for.

Visualizzare il pannello di una webradio

A T T E N Z I O N E ! Questo post ha piu' di sei mesi. Le informazioni contenute potrebbero non essere aggiornate.

Nella colonna a lato ci sono i pannelli di RadioNation 1 e Radio Wittgenstein, che appaiono solo quando le rispettive radio sono in onda, altrimenti spariscono.
I pannelli sono generati da uno script PHP, per il quale mi sono basato sul plugin per WordPress WP-Shoutcast, creato da Chris Curtis.
L’unico requisito è il supporto PHP sul server che ospita il vostro sito/blog. Se le vostre pagine sono PHP l’utilizzo è estremamente semplice, basta includere lo script nel codice della pagina con un <?php include 'radio.php'; ?>, ed in qualunque punto della pagina chiamare la funzione shoutcast con la seguente sintassi:
<?php shoutcast ("Server", "Port", "StationName", "ShowListener") ?> dove:
Server = url della radio;
Port = porta TCP;
StationName = il nome che volete mostrare nel pannello;
ShowListener = 1: mostra audience, 0: non la mostra.
Esempio: <?php shoutcast ("www.radionation.it", "8080", "RadioNation 1", "1") ?>; visualizza un pannello con i dettagli di RadioNation 1, mostrando anche il numero di ascoltatori. Il titolo del brano è cliccabile.
L’aspetto del pannello è controllabile tramite tre classi CSS:
.radio = è il contenitore per tutto il pannello;
.station = il <div> con il nome della radio;
.playing = tutto il resto;

Se la vostra pagina è HTML, dovete includere il codice in un IFRAME, ad esempio:
<iframe src="radio.php" width="250" height="150" frameborder="0" marginheight="0" marginwidth="0" name="shoutcast" scrolling="no"></iframe>
Variate width e height per adattare le dimensioni secondo le vostre esigenze.
Lo script è prelevabile qui, l’archivio contiene il codice ed un esempio di CSS che potete includere nel vostro foglio di stile.

Nei commenti, il link al listato riveduto e corretto da Axap (grazie).

(Chiedo scusa agli esperti per le stupidaggini che dovessero trovare nello script: la mia conoscenza di PHP è prossima allo zero, mi sono limitato ad usare un approccio “ruspante”.)

13 Commenti

Tambu | #

uh, guarda guarda… 🙂

Andrea | #

@axap, certo che ti puoi permettere, grazie!
La tua versione molto pi pulita, ma mi risulta oscura in alcuni punti. Sarebbe bello ed istruttivo che commentassi le modifiche.
L’avevo detto che non so nulla di PHP 🙁

axap | #

C’ poco da dire… ho solo migliorato il ciclo precedente con questo:
for($i=0;$i(.+?)/”,”\1″,$fp_data);

prima ce n’erano due… ho racchiuso tutto in una 🙂

Alla fine poi c’erano delle variabili, e degli echo che le stampavano tutte separate fra di loro; un else che non serviva a niente e un echo che stampava una variabile mai dichiarata. Boh.
Anche l ho solo attaccato tutto insieme in una unica echo, e ho segato via la else inutile.

axap | #

Ehi, sto wordpress mi ha mangiato pi di mezzo commento. Accidenti a lui, la seconda volta che spacca tutto!

Beggi, fai l’ultimo sforzo: cancella gli ultimi due commenti, che la faccio finita, scusami.
Ora vado a regolare i miei conti in privato con wordpress. 😀

In compenso sappi che avevo scritto un bel commentino, e mi ero impegnato almeno per due minuti. 🙁

Andrea | #

Grazie dello sforzo, ma non ci ho capito una beata.

axap | #

Per forza che non ci hai capito una beata: manca la parte centrale!

Gianfranco | #

Ho fatto copia incolla del listato su pastebin cio:
—————————————————————————————————————————————————————————————————-

function shoutcast ($host, $port, $station, $showaudience)
{
// Connect to server
$fp=@fsockopen($host,$port,$errno,$errstr,10);
if($fp)
{
// Get data from server
fputs($fp,”GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n”);
for($i=0;$i(.+?)/”,”\\1″,$fp_data);

// Place values from source into variable names
list($current,$status,$peak,$max,$reported,$bit,$song) = explode(“,”, $fp_data, 7);

/*
current = current listener
status = 1 (online); 0 (offline)
peak = listener peak
max = max listener allowed
reported = unique current listener
bit = bitrate
song = song title
*/

if($status)
{
echo “$station”.
“Sta trasmettendo:”.
$song“;
if($showaudience) echo “Ascoltatori: $current”;
echo “\n”;
}
}
}
————————————————————————————————————

Ho fatto con Notepad un file .php

chiamato radio.php

l’ho lanciato tramite il server virtuale wampserver e mi d questo:

function shoutcast ($host, $port, $station, $showaudience) { // Connect to server $fp=@fsockopen($host,$port,$errno,$errstr,10); if($fp) { // Get data from server fputs($fp,”GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n”); for($i=0;$i(.+?)/”,”\\1″,$fp_data); // Place values from source into variable names list($current,$status,$peak,$max,$reported,$bit,$song) = explode(“,”, $fp_data, 7); /* current = current listener status = 1 (online); 0 (offline) peak = listener peak max = max listener allowed reported = unique current listener bit = bitrate song = song title */ if($status) { echo ”
$station
“. ”
Sta trasmettendo:
“. “$song
“; if($showaudience) echo “Ascoltatori: $current”; echo ”
\n”; } } }

Domanda: mi dovrebbe comparire la mascherina di Radio Nation? come fa un file php a riprodurre una immagine? Mi dovrebbe riprodurre una cosa simile a questo dal blog di Chris Curtis????????????????

Whole Wheat Radio
On-air
Programme/Song
Jimmy McCracklin – After Hours
Bitrate: 56 kpbs
Listeners: 21 / 70
Tutto qui!Questa visualizzazione della web radio per un neofita incomprensibile!

Nico | #

Ciao a tutti
Ho un blog su splinder
In questo blog ho inserito un link alla mia webradio.
Il link è semplicemente una immagine..pero sotto questa immagine vorrei inserire qualcosa che faccia capire quando la radio trasnette e quando non trasmette..potete aiutarmi?
Grazie

nardo | #

ciao. potresti essere più chiaro di così?
a me serve inserire nel mio sito-blog un player per ascoltare una radio locale che trasmette sia in fm che in streaming.
la trovi a questo link:

http://81.208.101.95:8080/listn.pls

poi aiutarmi?
grazie

nardo.

marco | #

ciao anche io mi associo a complimenti che ti hanno fatto ma non ci capisco niente perche nel mio schout cast quella roba li non ho quello denominato ini
tu non hai ache pagandoti per il tempo che mi dedicherai
un pacchetto autoistallante di questo odi altri programmi tipo sam o non so cosa per aiutarmi per favore sono un trapiantato di cuore malriuscito e non posso molto muovermi vedi tu cosa puoi fare grazie anticipatamente e scusami per il disturbo

burghy | #

ma non si potrebbe mettere il codice direttamente nell’articolo?? sempre su hosting free che dopo 2 mesi eliminano tutto