Avatar billede loopstudio Nybegynder
21. november 2008 - 08:27 Der er 5 kommentarer

Hvordan checker jeg ID3 tags efter upload af MP3 fil?

Findes der en komponent eller ActiveX eller andet man kan tilgå direkte fra ASP lige når brugeren har uploadet sin fil til serveren?
Avatar billede madeindk Nybegynder
21. november 2008 - 10:08 #1
<%
  Function ConvertBin(Binary)
  'This function converts a binary byte into an ASCII byte.
    for i = 1 to LenB(Binary)
      strChar = chr(AscB(MidB(Binary,i,1)))
      ConvertBin = ConvertBin & strChar
    Next
  End Function

  dim objStream
  dim strTag, strSongName, strArtist, strAlbum, strYear, _
      strComment, strGenre, strFile

  'Specify the folder to iterate through, displaying all the MP3s
  Const folder = "C:\mp3s\"

  'Grab the folder information
  'For more information on this technique below, check out this FAQ:
  '  http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=90
  Dim objFSO, objFolder, objFile
  Set objFSO = Server.CreateObject("Scripting.FileSYstemObject")
  Set objFolder = objFSO.GetFolder(folder)

  'Create the Stream object
  set objStream = Server.CreateObject("ADODB.Stream")
  objStream.Type = adTypeBinary

  'Loop through the files in the folder
  For Each objFile in objFolder.Files
    'Open the stream
    objStream.Open
    objStream.LoadFromFile objFile.Path

    'Read the last 128 bytes
    objStream.Position =  objStream.size - 128

    'Read the ID3 v1 tag info
    strTag = ConvertBin(objStream.Read(3))
    if ucase(strTag) = "TAG" then
      strSongName = ConvertBin(objStream.Read(30))
      strArtist = ConvertBin(objStream.Read(30))
      strAlbum = ConvertBin(objStream.Read(30))
      strYear = ConvertBin(objStream.Read(4))
      strComment = ConvertBin(objStream.Read(30))
    end if

    'Display the results
    response.write "<table><tr><td colspan=2><h3>" & _
                  "ID3 Tag info for:</td></tr><tr>" & _
                  "<td colspan=2>" & objFile.Name & "</td></tr>"
    response.write "<tr><td><b>Artist: </b></td>" & _
                  "<td>" & strArtist & "</td></tr>"
    response.write "<tr><td><b>Track: </b></td>" & _
                  "<td>" & strSongName  & "</td></tr>"
    response.write "<tr><td><b>Album: </b></td>" & _
                  <td>" & strAlbum & "</td></tr>"
    response.write "<tr><td><b>Year: </b></td>" & _
                  "<td>" & strYear & "</td></tr>"
    response.write "<tr><td><b>Comment: </b>" & _
                  "</td><td>" & strComment & "</td></tr>"
    response.write "</table>"

    objStream.Close

    Response.Write "<p><hr><p>"
  Next

  Set objStream = Nothing    'Clean up...
%>
Avatar billede loopstudio Nybegynder
21. november 2008 - 16:48 #2
ok, tak,

Men jeg havde brug for bitrate, duration & filesize.

Har du også det?
Avatar billede madeindk Nybegynder
23. november 2008 - 20:13 #3
Ikke umiddelbart - det der var et script jeg fandt ved at søge på Google.

Du burde godt kunne søge videre og se om det ikke kan lade sig gøre. Hvis bitraten osv. er skrevet ind i filen burde du snildt kunne hive det ud - tillader mig alligevel at smide et svar, da det burde kunne hjælpe dig godt på vej, så må du selv bedømme om du synes det er fair :)
Avatar billede loopstudio Nybegynder
13. februar 2009 - 01:13 #4
Det er ikke nemt!

Har prøvet ALt snart!
Avatar billede sn0wflake Nybegynder
13. februar 2009 - 04:32 #5
Mediainfo (http://mediainfo.sourceforge.net) er et bud.
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