Filehost.ro - gazduire fisiere
Hartie
Tutoriale,hackuri,filme,jocuri si multe altele !
Nou pe simpatie:
glamour35 pe Simpatie.ro
Femeie
24 ani
Constanta
cauta Barbat
28 - 69 ani
HartieInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
Hartie / Programe /

Micro online radio(perl)

Pagini: 1 Moderat de anarhy991
#1
Hartie
Administrator
Postari: 939
Primeste un playlist de winamp care sa contina mp3'uri(cu altceva nu am incercat)
Testat cu Active Perl 5.8.7.815 si Winamp 2.95 dar probabil merge cu orice perl si orice winamp

Trebuiesc setate "$PORT","$LIST" si "$NAME"

Versiune formatata: http://rootb0x.com/0X0/rad-0.1.txt

Cod:

#!/usr/bin/perl
use IO::Socket;
$SIG{CHLD}=sub {wait ()};

$PORT=8000;
$LIST="playlist.m3u";
$NAME="<<My tiny online radio station>>";

open(PLAYLIST,$LIST) || die("Error: Could not open $LIST\r\n"; @songs=<PLAYLIST>; close PLAYLIST;

$server=IO::Socket::INET->new(Proto    =>'tcp',
                              LocalPort=>$PORT,
                              Listen   =>SOMAXCONN,
                              Reuse    =>1);
if($server)
{
  while(1)
  {
    while($client=$server->accept())
    {
      $client->autoflush(1);
      if(!fork())
      {
        foreach $song (@songs)
        {
          chomp($song);
          if(index($song,'#')==-1)
          {
            print("playing song: $song\n";
            print $client "ICY 200 OK\r\n";
            print $client "Content-Type: audio/x-mp3stream\r\n";
            print $client "Cache-Control: no-cache\r\n";
            print $client "Pragma: no-cache\r\n";
            print $client "Connection: close\r\n";
            print $client "icy-name: $NAME\r\n";
            print $client "icy-metadata: 0\r\n\r\n";

            open (SONG,"$song";
            binmode(SONG);
            $read_status =1;
            $print_status=1;
            $chunk;
            while($read_status && $print_status)
            {
              $read_status=read(SONG,$chunk,1024);
              if(defined $chunk && defined $read_status)
              {
                $print_status=print $client $chunk;
              }
              undef $chunk;
            }
            close SONG;
          }
        }
        exit(0);
      }
      close($client);
    }
  }
}


Am uitat... Winamp->ADD->ADD URL->"IP:PORT"


 
   
Pagini: 1  
Mergi la