Deixe-me falar brevemente sobre a tag ID3 do MP3 primeiro, porque ela é usada principalmente para operar essa coisa.
No início, o MP3 não trazia informações sobre cantores, anos, álbuns, etc. como vemos hoje.
Existem apenas alguns parâmetros simples, como sim/não, para indicar se é privado ou protegido por direitos autorais, etc. Isso trouxe muitos inconvenientes ao trabalho relacionado ao MP3. Em 1996, um estrangeiro propôs anexar um dado após cada MP3. , usando Para armazenar as informações acima, ele posteriormente se desenvolveu em id3 v1. Pelo que eu sei, agora atingiu 1.1. É melhor eu mesmo verificar.
Ainda é um hábito antigo usar metadados para apresentar DLL. Já postei sobre isso. Se você não sabe, verifique você mesmo.
Veja o código
<!--METADATA TYPE=typelib
UUID=00000205-0000-0010-8000-00AA006D2EA4
NAME=Biblioteca de tipos ADODB
-->
<%
Função ConvertBin (binário)
'Esta função converte um byte binário em um byte ASCII.
para i = 1 para LenB (binário)
strChar = chr(AscB(MidB(Binário,i,1)))
ConvertBin = ConvertBin & strChar
Próximo
Função final
dimobjStream
dim strTag, strSongName, strArtist, strAlbum, strYear, _
strComment, strGenre, strFile
'Especifique a pasta para iterar, exibindo todos os MP3s
Pasta Const = C:/mp3s/
'Pegue as informações da pasta
Dim objFSO, objFolder, objFile
Definir objFSO = Server.CreateObject(Scripting.FileSYstemObject)
Definir objFolder = objFSO.GetFolder (pasta)
'Cria o objeto Stream
definir objStream = Server.CreateObject (ADODB.Stream)
objStream.Type = adTypeBinary
'Percorre os arquivos da pasta
Para cada objFile em objFolder.Files
'Abra o fluxo
objStream.Open
objStream.LoadFromFile objFile.Path
'Lê os últimos 128 bytes
objStream.Position =objStream.size - 128
'Leia as informações da tag ID3 v1
strTag = ConvertBin(objStream.Read(3))
se ucase(strTag) = TAG então
strSongName = ConvertBin(objStream.Read(30))
strArtist = ConvertBin(objStream.Read(30))
strAlbum = ConvertBin(objStream.Read(30))
strAno = ConvertBin(objStream.Read(4))
strComment = ConvertBin(objStream.Read(30))
terminar se
'Mostra os resultados
resposta.write <table><tr><td colspan=2><h3> & _
Informações da tag ID3 para:</td></tr><tr> & _
<td colspan=2> & objFile.Name & </td></tr>
response.write <tr><td><b>Artista: </b></td> & _
<td> & strArtist & </td></tr>
response.write <tr><td><b>Faixa: </b></td> & _
<td> & strSongName& </td></tr>
response.write <tr><td><b>Álbum: </b></td> & _
<td> & strAlbum & </td></tr>
resposta.write <tr><td><b>Ano: </b></td> & _
<td> & strAno & </td></tr>
resposta.write <tr><td><b>Comentário: </b> & _
</td><td> & strComment & </td></tr>
resposta.write </table>
objStream.Fechar
Resposta.Write <p><hr><p>
Próximo
Definir objStream = Nothing'Clean up...
%>
Experimente você mesmo