Avatar billede supermand69 Nybegynder
08. november 2006 - 21:26 Der er 11 kommentarer og
1 løsning

streame m3u fil on-the-fly

hej

jeg vil streame en m3u fil som bliver lavet on-the-fly og sendt til klienten

eks.

$header = 'Content-Type: text/plain; charset=iso-8859-1';
header($header);
echo "#EXTM3U\n".$_GET['file'];

Her skriver den bare teksten som plain text til browseren
Avatar billede jakobdo Ekspert
08. november 2006 - 22:00 #1
Du kan ikke streame med php.
Avatar billede coderdk Praktikant
08. november 2006 - 22:54 #2
Det er jo nok fordi at du skriver at det skal være plain text ;)
Prøv: $header = "Content-Type: audio/mpegurl";

Kan man streame en playliste?! Hvad ville meningen være med det?
Avatar billede supermand69 Nybegynder
09. november 2006 - 20:51 #3
coder > jeg synes ikke det virker..

det er heller ikke php der sådan set skal streame noget..

hvis man f.eks. laver en m3u fil med følgende indhold kan winamp selv streame

#EXTM3U
#EXTINF:-1,Clark K (DJ set) - Emotional mode 02.1
http://files.electrobeat.dk/Mix/2006.08-Clark_K_-_Emotional_mode_02.1_(electro-tech-prog_house).mp3

man kan spole osv lige så tosset man vil og winamp buffer filen hvor man er kommet til..
Avatar billede coderdk Praktikant
09. november 2006 - 21:07 #4
Det ligner jo heller ikke så meget det du har skrevet ;) I.e.

echo "#EXTM3U\n".$_GET['file'];

Der mangler EXTINF osv... :) Anyway, den korrekte MIME-type for .m3u er audo/mpegurl eller audo/x-mpegurl
Avatar billede coderdk Praktikant
09. november 2006 - 21:08 #5
audio ikke audo :)
Avatar billede supermand69 Nybegynder
11. november 2006 - 15:23 #6
http://files.electrobeat.dk/index.php?dir=Mix

det virker stadig ikke?

når jeg højreklikker på [Stream] (som står efter filnavnet) og dernæst afspiller filen afspiller den fint filen fra serveren, men hvis jeg åbner filen direkte sker der ingenting..
Avatar billede supermand69 Nybegynder
11. november 2006 - 15:23 #7
if($_GET['method'] == 'stream')
    {
        $header = 'Content-type: audio/x-mpegurl';
       
        header($header);
       
        echo "#EXTM3U\nhttp://".$_SERVER["SERVER_NAME"].'/'.$_GET['file'];
    }
Avatar billede coderdk Praktikant
11. november 2006 - 17:19 #8
Du giver intet extended info, prøv bare:

    if($_GET['method'] == 'stream')
    {
        $cont = "http://".$_SERVER["SERVER_NAME"].'/'.$_GET['file'];

        header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
        header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
        header( "Cache-Control: no-cache" );
        header( "Content-Type: audio/x-mpegurl" );
        header( "Content-Length: " . strlen( $cont ) );
        header( "Content-Disposition: attachment; filename=\"play.m3u\"" );

        echo $cont;             
    }

Ref: http://forums.winamp.com/showthread.php?threadid=65772
Avatar billede coderdk Praktikant
11. november 2006 - 17:20 #9
I øvrigt vil $_SERVER["HTTP_HOST"] nok være bedre end $_SERVER["SERVER_NAME"] i de fleste tilfælde...
Avatar billede supermand69 Nybegynder
11. november 2006 - 18:59 #10
hvad er forskellen på http_host og server_name?
Avatar billede supermand69 Nybegynder
11. november 2006 - 19:04 #11
det virker stadig ikke?

men hvorfor åbner den filen play[1].m3u og ikke play.m3u
Avatar billede supermand69 Nybegynder
28. december 2006 - 12:34 #12
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester