[Flash] mp3 bestand downloaden

Pagina: 1
Acties:

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
Hoi,
Ik ben bezig met flash dingetje met een lijstje mp3's erin. Ik heb nu gemaakt knopje Play en Stop en nu ben bezig met knopje download
code:
1
getURL(mp3file , "_BLANK");


Dan opent hij hem in nieuwe venster en gaat windows media player (dat ding wat dan in internet explorder zit) gaat hem afspelen.

Hoe kan ik zorgen dat je gewoon een download venster krijgt?

Verwijderd

Er zit waarschijnlijk een instelling in IE die stelt dat elke MP3 automatisch naar Windows Media Player wordt gezeuld, volgens mij kun je daar vanuit Flash zelf niet zo vreselijk veel aan doen.

Verwijderd

maak er een zip file van :D

  • Zekas
  • Registratie: December 2002
  • Laatst online: 21-08 14:25
Zet de URL in een HTML bestand en zet erbij dat ze moeten rechtsklikken -> Opslaan als...

Maar ik denk dat de ZIP file techniek makkelijker is :)

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
maar dan moet de mp3 file 2x op server staan :|
1x gezipt en 1x om te downloaden

is het niet met javascript aan te roepen dat hij gaat downloaden in plaats afspelen ??

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
volgens mij kan dat niet met java, maar die instelling moet je kunnen wijzigen, als ik een mp3'tje klik gaat ie wel downen

Mijn rig


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

marko77 schreef op 06 februari 2003 @ 12:37:
volgens mij kan dat niet met java, maar die instelling moet je kunnen wijzigen, als ik een mp3'tje klik gaat ie wel downen
Java != JavaScript

Maar het is een gebruikers-instelling, waarbij de browser 'onthoudt' welke files het wel en niet mag afspelen in je browser!

Kan je niet iets met een server-side taaltje doen (zoals PHP), dan kan je volgens mij wel een download forceren (dmv de juiste headers mee te sturen).

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
Maar dan moet ik zeker alle mp3 bestandjes op eigen server zetten :|
of zou een Location header ook goed werkt :)
ff testen en kijken welke headers

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 21-08 10:46
Martink schreef op 06 februari 2003 @ 13:49:
Maar dan moet ik zeker alle mp3 bestandjes op eigen server zetten :|
of zou een Location header ook goed werkt :)
ff testen en kijken welke headers


Als je PHP tot je beschikking hebt kan je dit doen:

PHP:
1
2
3
4
Header( "Content-type: application/octet-stream" );
$fp = fopen( "geluidje.mp3", "r" );
fpassthru( $fp );
fclose( $fp );


Nadeel is echter dat als MP3 op andere server staat dit op sommige hosts niet werkt en dat de server bestand eerst opent vanaf andere server wat dus dataverkeer kost.

  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
McVirusS schreef op 06 February 2003 @ 13:54:

[...]


Als je PHP tot je beschikking hebt kan je dit doen:

PHP:
1
2
3
4
Header( "Content-type: application/octet-stream" );
$fp = fopen( "geluidje.mp3", "r" );
fpassthru( $fp );
fclose( $fp );


Nadeel is echter dat als MP3 op andere server staat dit op sommige hosts niet werkt en dat de server bestand eerst opent vanaf andere server wat dus dataverkeer kost.
Het werkt wel maar ik denk niet dat het slim is om het zo te doen omdat het wel veel dataverkeer kost
kan je trouwens ook als je die file opent dat hij hem gewoon opslaat? :)
dan hoeft hij hem niet telkens opnieuw te downloaden :)

edit:
Met header("Location: mp3file"); werkt het niet :(
zal wel makelijk zijn geweest

[ Voor 9% gewijzigd door Martink op 06-02-2003 14:42 ]


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?
$split = explode("/", $get);
$file = $split[count($split)-1];
if (!file_exists("mp3/$file")) {
wwwcopy($get, "mp3/$file");
}

Header("Content-Type: application/x-octet-stream"); 
$filesize = filesize("mp3/$file");
Header("Content-Length: $filesize");
Header( "Content-Disposition: attachment; filename=$file"); 
$fp = fopen("mp3/$file", "r" );  
fpassthru( $fp ); 
fclose( $fp );






function wwwcopy($file,$nfile)
{
   $fp = @fopen($file,"rb");
   while(!feof($fp))
   {
      $cont.= fread($fp,1024);
   }
   fclose($fp);

   $fp2 = @fopen($nfile,"w");
   fwrite($fp2,$cont);
  fclose($fp2);
}

?> 

Ik heb dit scriptje maar gemaakt :)
werkt prima
Pagina: 1