Home

"I'm brave but I'm chicken shit"

Visualizzare il pannello di una webradio

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”.)


Pubblicato

in

da

Tag:

Commenti

13 risposte a “Visualizzare il pannello di una webradio”

  1. Avatar axap
    axap

    http://pastebin.ca/11427

    Se mi posso permettere, eh? 🙂

  2. Avatar Tambu

    uh, guarda guarda… 🙂

  3. Avatar 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 🙁

  4. Avatar axap
    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.

  5. Avatar axap
    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. 🙁

  6. Avatar Andrea

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

  7. Avatar axap
    axap

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

  8. Avatar Gianfranco
    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!

  9. Avatar 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

  10. Avatar 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.

  11. Avatar marco
    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

  12. Avatar burghy
    burghy

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

  13. Avatar mary
    mary

    Vi consiglio questo widget semplicissimo che integra 10.000 radio in qualsiasi sito http://www.findradio.net/findradio-widget