Avatar billede dadane Novice
25. februar 2005 - 15:40 Der er 5 kommentarer og
1 løsning

mp3 streaming, sådan næsten i hvert fald

Hvis jeg lægger en fil på min webserver - f.eks. tale.mp3 og så laver et link til den, så finder windows mediaplayer selv ud af at buffer lidt og afspille når den føler den er klar. Det er jo super!

Men jeg vil gerne lade download af filen foregå gennem php. (Så jeg har styr på hvor mange gange den er downloadet, af hvem, hvornår etc. Samt har mulighed for at lave mere detaljerede restriktioner).

Det er sådan set heller ikke et problem.

Følgende lille prove-of-concept fil viser hvordan:

<?php

    header('Content-type: application/mp3');
    header('Content-Disposition: inline; filename="downloaded.mp3"');
    readfile('tale.mp3');

?>

Her er der NATURLIGVIS ingen restriktioner, eller tjek af noget som helst.

Hvis jeg gør det så starter media player også automatisk, - men først når HELE filen er downloadet. (Det er ½ til flere times foredrag, - så filerne er ikke helt små). Hvorfor? OG vigtigere, - hvad kan jeg gøre for at ændre det?

Har det noget at gøre med at mediaplayer har brug for at kende fillængden, - og at min apache server gladeligt fortæller det, - men PHP scriptet ovenfor ikke gør? Hvis ja, - hvordan fortæller jeg så i mit PHP script at filens størrelse er 92.416.774 bytes
Avatar billede kalp Novice
25. februar 2005 - 15:42 #1
Nu ved jeg ikke hvordan din samlede side ser ud (og programmere desuden ikke php...) men måske kan du bruge dette script.. du kan lige prøve det i hvertfald:)

<OBJECT
  ID="mediaPlayer"
  CLASSID="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95"
  CODEBASE="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"
  STANDBY="Loading Microsoft Windows Media Player components..."
  TYPE="application/x-oleobject">
  <PARAM NAME="fileName" VALUE="ditfilmklip.avi">
  <PARAM NAME="animationatStart" VALUE="true">
  <PARAM NAME="transparentatStart" VALUE="true">
  <PARAM NAME="autoStart" VALUE="true">
  <PARAM NAME="showControls" VALUE="true">
</OBJECT>

du kan teste det på en ganske normal html side til at starte med.. .den streamer i hvertfald filen direkte.
Avatar billede dadane Novice
25. februar 2005 - 15:43 #2
Tror jeg har fået det, - det var længden.

Og det virker med:
    header("Content-Length: 92416774");
Avatar billede dadane Novice
25. februar 2005 - 15:44 #3
kalp, - tjaeh. Det gør sikkert et eller andet godt. Men hvordan virker det for de stakler som ikke har windows?
Avatar billede kalp Novice
25. februar 2005 - 15:46 #4
Det bliver afviklet i browseren.. jeg har faktisk aldrig undersøgt om det virker for andre end windows brugere.
Avatar billede dadane Novice
25. februar 2005 - 15:46 #5
Well, kast et svar så får du point
Avatar billede kalp Novice
25. februar 2005 - 15:47 #6
Hvis det virker for andre end windows brugere så er det i hvertfald en meget fed måde at streame på:)
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