Avatar billede sukos Juniormester
13. juni 2004 - 08:42 Der er 14 kommentarer og
1 løsning

Parse en musikfil til windows mediaplayer?

Er det muligt?
Altså, i stedet for at man skriver url til musikfil, "/musik/filnavn.mp3", så skriver man f.eks. musikfil.php?id=5
Avatar billede riversen Nybegynder
13. juni 2004 - 08:50 #1
ja, men så skal det nok være noget med at musikfil.php så henter nogle data omkring mp3 filen ud fra id'et og derefter sender browseren videre til adressen på filen vha. header( "Location: adressen fra db" );
Avatar billede 7th Praktikant
13. juni 2004 - 08:54 #2
Umiddelbart ville jeg også følge riversens forslag, jeg fandt dog noget, som måske kunne være et alternativ.

www.php.net/exec+mp3+site:www.php.net&hl=da" target="_blank">http://66.102.9.104/search?q=cache:2GALkXlcRu8J:www.php.net/exec+mp3+site:www.php.net&hl=da

"Why not using the "start" utility, provided with every version of Windows to start processes in the background on Windows machines? For example :

exec("start song.mp3");

Which will cause the default handeling application for .MP3 file types to start playing the selected song.."

P.S. spam *** du havde på et tidspunkt før Eksperten fik sit store nedbrud, et spørgsmål i Apache omkring rewriterules, hvilket jeg fandt en løsning på, men da spørgsmålet efterfølgende var væk, kunne jeg ikke vise dig løsningen...
Avatar billede riversen Nybegynder
13. juni 2004 - 08:57 #3
vil lige nævne at med alternativet 7th nævner, så gør du siden afhængig af at der køres windows + der vil køre på serveren og ikke på klienten. Ved ikke om det er et problem, men så ved du det.
Avatar billede 7th Praktikant
13. juni 2004 - 09:01 #4
Nu kommer jeg i tvivl, sorry tidligt på morgenen :) Med parse mener du så download eller stream?
Avatar billede sukos Juniormester
13. juni 2004 - 09:23 #5
jahh, altså, tanken var at bruge den mediaplayer som de fleste har installeret på deres egen maskine. Og selvf. med et download link, for dem som ikke har/vil ha' mediaplayer!

Og det jeg gerne ville, var at skjule hvor filen rent fysisk er placeret.
Men der skal jo være en URL som mediaplayer kan bruge.


og til 7th -> lyder ellers fedt nok med det apache! (omend det så endte med at jeg droppede rewrite.)
Avatar billede sukos Juniormester
13. juni 2004 - 09:26 #6
OG det dutter ikke at få serveren til at afvikle filen :O)
Avatar billede riversen Nybegynder
13. juni 2004 - 09:57 #7
sukos: du kan jo prøve at teste det af, om det kører som du vil. stien til filen skjules i hvert fald
Avatar billede sukos Juniormester
13. juni 2004 - 10:07 #8
hmm, den fatter jeg sgutte!
Hvis en bruger klikker på et nummer, så kommer flg. ind i dokumentet:


<object id="PlayerEx2" classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"
        height="200" width="200">
  <param name="uiMode" value="full" />
  <param name="autoStart" value="true" />
  <param name="URL" value="/musik/filnavn.mp3" />   
  Your browser does not support the ActiveX Windows Media Player
</object>

adressen i browseren bliver f.eks. til domain.dk/musik/?id=3

Jeg kan ikke se hvordan adressen, (/musik/filnavn.mp3), skulle blive skjult ved at lave en header?

id, titel, beskrivelse og filnavn ligger i DB.
Når jeg viser mulige numre, lægges det ind i et array, $filer[id][filnavn], og klikkes der på et link, tjekkes for valid id.
Og er den ok, vises object som foroven her.
Avatar billede coderdk Praktikant
13. juni 2004 - 12:03 #9
musik.php:

<?php

  header('Content-Type: audio/mpeg');
  switch ($_GET['id'])
  {
    case 1:
      $fil = 'nummer1.mp3'; break;
    case 2:
      $fil = 'nummer2.mp3'; break;
    default:
    case 1:
      $fil = 'nummer3.mp3'; break;
  }
  readfile($fil);

?>

Du kan evt også sætte filnavn, størrelse osv - Her skal du også bruge header()
Avatar billede coderdk Praktikant
13. juni 2004 - 12:05 #10
Og der er intet i vejen for at checke om man er logget ind osv, og smide mp3'erne uden for webroot så man SKAL igennem scriptet. Du kan evt også sende en "default" mp3 fil hvis man ikke er logget ind (hvor du kan sige at man skal være logget ind for at bruge den) ;)
Avatar billede sukos Juniormester
13. juni 2004 - 20:22 #11
Jeg har ikke brug for at tjekke noget login.
Og jeg kan jo ikke lave en header inde i

<param name="URL" value="HEADER" />
Avatar billede sukos Juniormester
13. juni 2004 - 20:25 #12
At man kan lave et link, som brugeren kan klikke på, og så åbne direkte, jow, men det er ikke det jeg vil.
I stedet for at skrive:

<param name="URL" value="/musik/filnavn.mp3" />

ville jeg gerne skrive:

<param name="URL" value="musik.php?id=2" />

hvis ellers det er muligt?
Avatar billede coderdk Praktikant
13. juni 2004 - 22:27 #13
Det er det, se mit svar ;)
Hvis den brokker sig, og du har kaldt scriptet musik.php, så prøv at skrive: musik.php/musik.mp3?id=2
Avatar billede sukos Juniormester
16. juni 2004 - 07:19 #14
Virker ikke, coderdk
media player siger "klar", men vil ikke afspille noget.
Avatar billede sukos Juniormester
23. juni 2004 - 06:23 #15
Jeg lukker her.
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