Avatar billede andreasn Nybegynder
04. februar 2001 - 19:55 Der er 36 kommentarer og
1 løsning

Script til sotering af mp3 filer

Hejsa er der nogen af jer som har et script  som kan  smides i en mappe med  mp3 filer hvorefter    scriptet  smider  fil navnene på mp3 filerne ind i en  html fil  sammen med  oplysninger om  bitrate  osv?
Avatar billede doeleman Nybegynder
04. februar 2001 - 22:29 #1
Jeg læste engang en artikel om at læse ID3-tags vha. PHP.
Måske du kan finde inspiration i artiklen (på tysk):
http://www.php-center.de/artikel/id3.php3

Det ville være forholdsvis let at skrive scriptet i PHP, men jeg kender desværre ikke så meget til ASP.
Avatar billede brain Nybegynder
04. februar 2001 - 22:31 #2
Jeg går igang med at skrive et i ASP....
Avatar billede andreasn Nybegynder
04. februar 2001 - 22:36 #3
brain hvis det er som jeg vil  får du 2000  point  ved det ikke er  hard cash men  folk vil vel gerne havde et
Avatar billede brain Nybegynder
04. februar 2001 - 22:56 #4
Lyder lækkert. Det er ikke sikkert jeg bliver færdig i aften, men ellers imorgen....
Avatar billede brain Nybegynder
05. februar 2001 - 00:00 #5
Betaversion på http://dev.jdn.dk/mp3/mp3list.asp

Hvilke informationer vil du gerne have vist...?
Avatar billede andreasn Nybegynder
05. februar 2001 - 01:11 #6
også bitrate hvis jeg kan    nu  leder scriptet efter filerne  i en mappe  og ikke på en playlist ikke?
Avatar billede andreasn Nybegynder
05. februar 2001 - 01:11 #7
men ellers er det lige det som jeg leder efter
Avatar billede brain Nybegynder
05. februar 2001 - 11:15 #8
Jeg ordner bitrate og de andre ting når jeg kommer hjem fra arbejde. Jo, jo. Scriptet tager alle mp3 filer i det dir det er placeret i og analyserer hver enkelt....
Avatar billede ml Nybegynder
05. februar 2001 - 12:00 #9
brain> Jeg er også MEGET interesseret i scriptet. Jeg har ikke så mange points, men vi kan da godt finde ud af nogle kolde kontanter eller en billig mp3 afspiller hvis det er nødvendigt. :)
Avatar billede ml Nybegynder
05. februar 2001 - 12:02 #10
Fang mig eventuelt på icq: 10026035
Avatar billede brain Nybegynder
05. februar 2001 - 12:31 #11
andreasn >> Så er jeg færdig med det. Der er en lille fejl i Genre, den kigger jeg lige på når jeg får tid... (PS. Du har jo ikke 2000 point !!)
Avatar billede jones Nybegynder
05. februar 2001 - 12:37 #12
Brain >> gider du kigge her ??? var det evt noget ud kunne hjælpe med ???

http://www.eksperten.dk/spm/47456
Avatar billede brain Nybegynder
05. februar 2001 - 12:46 #13
Så er fejlen rettet... Hvor vil du have det...
Avatar billede andreasn Nybegynder
05. februar 2001 - 12:49 #14
brain  kan godt se jeg kun har  1300 i alt  hvad så?
Avatar billede brain Nybegynder
05. februar 2001 - 13:47 #15
Det er fint. Vil du have scriptet i en mail?
Avatar billede centauri Nybegynder
05. februar 2001 - 15:16 #16
Jeg er også meget interreseret i at se lidt på det scrip og smider da ogs gerne nogle points i.
Kan eventuelt kontaktes på icq:  38325135
Avatar billede {dark} Nybegynder
05. februar 2001 - 17:10 #17
Her er et ASP-script der skal kun bruge en Winamp-playlist:

<%@ Language=VBScript %>

<%
dim sort(2000), file1(2000), tid(2000)
Dim fs, a, b, s, tael, s1, file
Set fs = CreateObject(\"Scripting.FileSystemObject\")
Set a = fs.getfile(\"D:\\programmer\\winamp\\winamp.m3u\")
set b = a.OpenAsTextStream(1,0)
%>

<%
if request(\"download\") = \"\" then
%>
<html><head><Title>Winamp Playlist loader</title></head>
<body onload=\"window.status = \'M R.  F U N N Y S  W I N A M P  P L A Y L I S T  W E B I N T E R F A C E\'\">
<%
end if
if lcase(request(\"type\")) = \"file\" then
      \'b.skipline
    do while b.AtEndOfStream <> true
      s = b.readline
      if Left(s,1) <> \"#\" then
      tael = tael + 1
      sort(tael) = s \'mid(s,instr(s,\",\")+1)
      end if
    loop
    sortsub(Tael)
elseif lcase(request(\"type\")) = \"full\" then
      b.skipline
    do while b.AtEndOfStream <> true
      s = b.readline
      response.write s + \"<BR>\"
    loop
elseif lcase(request(\"type\")) = \"title\" then
      b.skipline
    do while b.AtEndOfStream <> true
      s = b.readline
      if left(s,1) = \"#\" then
        tael = tael + 1
        sort(tael) = mid(s,instr(s,\",\")+1)
        tid(tael) = mid(s,9,instr(s,\",\")-9)
        convtid(tael)
        file1(tael) = b.readline
      end if
    loop
    sortsub(tael)
elseif request(\"type\") = \"findfile\" then
      b.skipline
    do while b.AtEndOfStream <> true
      s = b.readline
      if left(s,1) <> \"#\" then
          if instr(lcase(s),lcase(request(\"find\"))) <> 0 then
            tael = tael + 1
            sort(tael) = mid(s,instr(s,\",\")+1)
          end if
      end if
    loop
    sortsub(tael)
elseif request(\"type\") = \"findtitle\" then
      b.skipline
    do while b.AtEndOfStream <> true
      s = b.readline
      s1 = mid(s,9)
      if left(s,1) = \"#\" then
          if instr(lcase(s1),lcase(request(\"find\"))) <> 0 then
            tael = tael + 1
            sort(tael) = mid(s1,instr(s1,\",\")+1)
            tid(tael) = mid(s,9,instr(s,\",\")-9)
            convtid(tael)
          file1(tael) = b.readline
          end if
      end if
    loop
    sortsub(tael)
elseif request(\"download\") <> \"\" then

    if right(request(\"download\"),3) = \"mp3\" then
        dim fsobj, ts
        Set fsobj = CreateObject(\"Scripting.FileSystemObject\")
        Set file = fs.getfile(request(\"download\"))
        set ts = file.OpenAsTextStream(1)
        file.copy \"f:\\mp3script.tmp\\\"
        response.redirect \"http://mrfunny.yi.org/asptests/files/\" + replace(mid(request(\"download\"),instrrev(request(\"download\"),\"\\\")+1),\" \",\"%20\")
    else
        response.write \"Illegal Operation!\"
    end if
else
%>
<center><h1>Winamp playlist Loader</h1></center>
Browse list by:<br>
<a href=\'readm3u.asp?type=file\'>Filename</a><br>
<a href=\'readm3u.asp?type=title\'>Titles</a><br>
<form method=\"POST\" action=\"readm3u.asp\">
  <table border=\"0\" width=\"350\">
    <tr>
      <td width=\"150\">Filename Search:</td>
      <td width=\"200\"><input type=\"text\" name=\"find\" size=\"13\" value=\"&lt;Keyword&gt;\"> <input type=\"submit\" value=\"Search\"></td>
    </tr>
  </table>
  <input type=\"hidden\" name=\"type\" value=\"findfile\">
</form>
<form method=\"POST\" action=\"readm3u.asp\">
  <table border=\"0\" width=\"350\">
    <tr>
      <td width=\"150\">Title Search:</td>
      <td width=\"200\"><input type=\"text\" name=\"find\" size=\"13\" value=\"&lt;Keyword&gt;\"> <input type=\"submit\" value=\"Search\"></td>
    </tr>
  </table>
  <input type=\"hidden\" name=\"type\" value=\"findtitle\">
</form> <%
end if

\'***********************************************************************************************

sub swap (string1,string2)

Dim temp
\'response.write \"Swap kaldt med: \"
temp = sort(string1)
sort(string1) = sort(string2)
sort(string2) = temp

end sub

\'***********************************************************************************************

sub swap1 (string1,string2)

Dim temp
\'response.write \"Swap kaldt med: \"
temp = file1(string1)
file1(string1) = file1(string2)
file1(string2) = temp

end sub
\'***********************************************************************************************

sub swap2 (string1,string2)

Dim temp
\'response.write \"Swap kaldt med: \"
temp = tid(string1)
tid(string1) = tid(string2)
tid(string2) = temp

end sub
\'***********************************************************************************************

Sub convtid (tidid)

dim min, sek
min = tid(tidid) / 60
min = left(min, instr(min,\",\")+1)
sek = tid(tidid) mod 60

if len(sek) = 1 then
  sek = sek & \"0\"
end if

tid(tidid) = min & \":\" & sek

end sub

\'***********************************************************************************************

Private Sub sortsub(Number)

Num = number

Span = Num \\ 2
Do While Span > 0
    For I = Span To Num - 1
        J = I - Span + 1
        For J = (I - Span + 1) To 1 Step -Span
            \'If left(sort(J),instr(sort(J),\",\")) <= left(sort(J + Span),instr(sort(J + Span),\",\")) Then Exit For
        If lcase(sort(J)) <= lcase(sort(J + Span)) Then Exit For
            \' Swap array elements that are out of order.
        swap J, J + Span
        swap1 J, J + Span
        swap2 J, J + Span
        Next \'J
    Next \'I
    Span = Span \\ 2
Loop

if num = \"\" then num = 0

if left(request(\"type\"),4) = \"find\" then

  response.write \"<center><h1>Search results</h1></center>\"
  \'response.write \"<br>Search string: \" + request(\"find\") + \"<br>\" + chr(13)
  response.write \"<br>\" & num & \" files contains \" &chr(34) & request(\"find\") & chr(34)
  response.write \"<br><br>\" + chr(13)

elseif request(\"type\") = \"file\" then

  response.write \"<center><h1>List of Filenames in playlist</h1></center>\" + chr(13)
  response.write \"<br>Files in list: \"
  response.write num
  response.write \"<br><br>\" + chr(13)

elseif request(\"type\") = \"title\" then

  response.write \"<center><h1>List of Titles in playlist</h1></center>\" + chr(13)
  response.write \"<br>Files in list: \"
  response.write num
  response.write \"<br><br>\" + chr(13)

end if

if request(\"type\") = \"file\" or request(\"type\") = \"findfile\" then
    response.write \"<table border><tr><td><center>Number</center></td><td><center>Long Title</center></td><td><center>Size</center></td></tr><tr></tr>\"
elseif request(\"type\") = \"title\" or request(\"type\") = \"findtitle\" then
    response.write \"<table border><tr><td><center>Number</center></td><td><center>Long Title</center></td><td><center>Lenght</center></td><td><center>Size</center></td></tr><tr></tr>\"
end if

response.write \"<font size=\'-2\'>No Cd instead of file size, means that the file is on a cd, that\'s not in the drive right now.</font><br><br>\" & chr(13)

dim sizeing1, sizeing2, filesize
filesize = \"\"

For I = 1 To Num
    \'error = \"NO CD\"
    sizeing1=\"\"
    sizeing2=\"\"
    set sizeing1 = CreateObject(\"Scripting.FileSystemObject\")

        if request(\"type\") = \"file\" or request(\"type\") = \"findfile\" then

        if sizeing1.fileexists(sort(I)) = true then
            set sizeing2 = sizeing1.getfile(sort(I))
            filesize = cstr(sizeing2.size)
        elseif sizeing1.fileexists(sort(I)) = false then
            filesize = error
        end if

    elseif request(\"type\") = \"title\" or request(\"type\") = \"findtitle\" then
        if sizeing1.fileexists(file1(I)) = true then
            set sizeing2 = sizeing1.getfile(file1(I))
            filesize = \" \" & sizeing2.size
        elseif sizeing1.fileexists(file1(I)) = false then
            filesize = error
        end if
    end if

    response.write \"<tr><td>\" & i & \"</td>\"
        if request(\"type\") = \"file\" or request(\"type\") = \"findfile\" then
        response.write \"<td><a href=\'readm3u.asp?download=\" & Server.URLEncode(Sort(I)) & \"\'>\" & sort(I)  & \"</a></td><td align=\'right\'>\"

        if filesize <> 0 then
            response.write int(filesize / 1024) & \" KB</td></tr>\" & chr(13)
        else
            response.write \"No Cd</td></tr>\" & chr(13)
        end if

    elseif request(\"type\") = \"title\" or request(\"type\") = \"findtitle\" then
        response.write \"<td><a href=\'readm3u.asp?download=\" & Server.URLEncode(file1(I)) & \"\'>\" & sort(I) &  \"</a></td><td>(\" & tid(I) & \")\" & \"</td><td align=\'right\'>\"
        if filesize <> 0 then
            response.write int(filesize / 1024) & \" KB</td></tr>\" & chr(13)
        else
            response.write \"No Cd</td></tr>\" & chr(13)
        end if
    else
      \'response.write \": \" & Sort(I) & \"<BR>\" & chr(13)
        response.write \"Error!\"
    end if
Next \'I

End Sub
b.close
%></table></body></html>
Avatar billede tdaugaard Nybegynder
05. februar 2001 - 17:37 #18
brain:> jeg vil gerne bede om en kopi af scriptet på e@tdaugaard.dk, tak :-)
Avatar billede brain Nybegynder
05. februar 2001 - 18:14 #19
Hvad mener du. Du er jo ikke andreasn
Avatar billede tdaugaard Nybegynder
05. februar 2001 - 18:17 #20
brain:> nææ men hvis han accepterer dit svar vil jeg gerne have en kopi..
Avatar billede brain Nybegynder
05. februar 2001 - 18:19 #21
Naturligvis...
Avatar billede andreasn Nybegynder
05. februar 2001 - 18:23 #22
brain:  Tak for det    dsl25905@vip.cybercity.dk
Avatar billede tdaugaard Nybegynder
05. februar 2001 - 18:26 #23
brain:> lyder godt :-)
Avatar billede laserzap Nybegynder
05. februar 2001 - 19:42 #24
Jeg vil også meget gerne have scriptet:
DJ@netzilla.dk
:)
Avatar billede strax Nybegynder
05. februar 2001 - 22:06 #25
Brain >>>> LOL, nu skal jeg jo ikke være fræk, men i det eksempel du har lagt ud, kan man rent faktisk downloade mp3 filen, det må du selvfølgelig selv om, men hvis det var mig tror den funktion forsvandt meget hurtigt :-)
Avatar billede brain Nybegynder
05. februar 2001 - 22:10 #26
Nå ja, det var jo bare et eksempel. Det tror jeg sagtens andreas kan fjerne selv...
Avatar billede strax Nybegynder
05. februar 2001 - 22:14 #27
hæhæ. jeg er såmænd kold, man man ved jo ikke hvem der ikke er
Avatar billede brain Nybegynder
05. februar 2001 - 22:16 #28
Sådan der ;-)
Avatar billede tdaugaard Nybegynder
06. februar 2001 - 04:56 #29
brain:> erhm .. nu er det jo ikke mig du lavede scriptet til, så det her er ikke for at beklage mig, men bare for at fortælle dig det.

1. Du har glemt at tage højde for at der kan være genre index over 125 (Winamp har f.eks. en del genres de selv har lagt ind, deroverstiger 125)

2. Scriptet er ENORMT langsomt. Min computer har en Cyrix processor på 200 @ 224 MHz med PWS og Win 98 SE, og jeg får Script Timeout fra PWS og det har kun \"læst\" omkring 10-20 filer... Jeg prøvede i et bibliotek jeg har med ~250 MP3\'s..
Avatar billede brain Nybegynder
06. februar 2001 - 19:12 #30
Jeg ved det. Det er pga. det skide FilesystemObject. Det har ikke nogle ordentlige filsøgerutiner, og er velsagtens slet ikke beregnet til binære filer. Derfor er jeg også ved at skrive en ActiveX der kan gøre det samme.
Avatar billede tdaugaard Nybegynder
07. februar 2001 - 16:40 #31
Ahh .. okay, men tror du ikke liiige du skulle have nævnt det for andreasn først ? det var trodsalt 1300 point det drejede sig om ..
Avatar billede brain Nybegynder
07. februar 2001 - 18:13 #32
Hvis Eksperten.dk var et billede på verden, ville du så være USA?
Avatar billede tdaugaard Nybegynder
07. februar 2001 - 23:29 #33
brain:> jeg mener bare at du nok liige skulle have gjort andreasn opmærksom på at det var langsomt og ikke rigtigt var egnet til brug i praktis, men at det viste hvordan man gjorde. Så kunne andreasn måske have overvejet ikke at have givet dig point, men istedet enten fundet noget andet, eller taget pointene tilbage (eller givet dig *lidt* mindre point ..)
Avatar billede brain Nybegynder
08. februar 2001 - 21:58 #34
tdaugaard > det jeg bare ikke rigtigt forstår er hvordan det kan gøre ondt på dig at jeg får point?
Avatar billede tdaugaard Nybegynder
09. februar 2001 - 12:33 #35
brian:> det gør mig intet at du har fået point, tvært imod da det er et godt script og lige hvad andreasn havde brug for. Men jeg mener bare at du burde have nævnt for HAM at det er så langsomt og ikke brugbart i praksis (hvilket han sikkert skulle bruge det i)..
Avatar billede godtnok Nybegynder
23. februar 2001 - 00:27 #36
brian >> Må vi andre også få glæde af dit script, så man evt. kunne lære noget?

Hvis du ikke har noget imod at poste det her på eksperten.dk altså?
Avatar billede jones Nybegynder
23. februar 2001 - 08:56 #37
Ja tak
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
Kurser inden for grundlæggende programmering

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