ASP实现对MP3曲目信息的操作

        先简单说一下MP3的ID3 标记,因为主要是操作这个玩意 MP3最开始的时候没有我们今天看到的那样,有歌手、年代,专集等等信息只有一些简单的参数如yes/no来表示是不是privated或者copyrighted等信息,这样对MP3的相关工作带来了很多不便,1996年的时候有个老外提出来在每个MP3后面追加一段数据,用以存放上述的那些信息,后来就发展成为id3 v1 据我所知的现在已经到1.1了,具体的还是自己去查一下吧还是老习惯,用metadata来引入DLL,我以前有文章贴过的,不知道的请自己去查

看代码

ASP/Visual Basic代码
  1. 〈!--METADATA TYPE="typelib"  
  2. UUID="00000205-0000-0010-8000-00AA006D2EA4"  
  3. NAME="ADODB Type Library"  
  4. --〉   
  5. 〈%   
  6. Function ConvertBin(Binary)   
  7. 'This function converts a binary byte into an ASCII byte.   
  8. for i = 1 to LenB(Binary)   
  9. strChar = chr(AscB(MidB(Binary,i,1)))   
  10. ConvertBin = ConvertBin & strChar   
  11. Next  
  12. End Function  
  13. dim objStream   
  14. dim strTag, strSongName, strArtist, strAlbum, strYear, _   
  15. strComment, strGenre, strFile   
  16. 'Specify the folder to iterate through, displaying all the MP3s   
  17. Const folder = "C:\mp3s\"  
  18. 'Grab the folder information  
  19. Dim objFSO, objFolder, objFile  
  20. Set objFSO = Server.CreateObject("Scripting.FileSYstemObject")  
  21. Set objFolder = objFSO.GetFolder(folder)  
  22. 'Create the Stream object  
  23. set objStream = Server.CreateObject("ADODB.Stream")  
  24. objStream.Type = adTypeBinary  
  25. 'Loop through the files in the folder  
  26. For Each objFile in objFolder.Files  
  27. 'Open the stream  
  28. objStream.Open  
  29. objStream.LoadFromFile objFile.Path  
  30. 'Read the last 128 bytes  
  31. objStream.Position = objStream.size - 128  
  32. 'Read the ID3 v1 tag info  
  33. strTag = ConvertBin(objStream.Read(3))  
  34. if ucase(strTag) = "TAG" then  
  35. strSongName = ConvertBin(objStream.Read(30))  
  36. strArtist = ConvertBin(objStream.Read(30))  
  37. strAlbum = ConvertBin(objStream.Read(30))  
  38. strYear = ConvertBin(objStream.Read(4))  
  39. strComment = ConvertBin(objStream.Read(30))  
  40. end if  
  41. 'Display the results  
  42. response.write "〈table〉〈tr〉〈td colspan=2〉〈h3〉" & _  
  43. "ID3 Tag info for:〈/td〉〈/tr〉〈tr〉" & _  
  44. "〈td colspan=2〉" & objFile.Name & "〈/td〉〈/tr〉"  
  45. response.write "〈tr〉〈td〉〈b〉Artist: 〈/b〉〈/td〉" & _  
  46. "〈td〉" & strArtist & "〈/td〉〈/tr〉"  
  47. response.write "〈tr〉〈td〉〈b〉Track: 〈/b〉〈/td〉" & _  
  48. "〈td〉" & strSongName & "〈/td〉〈/tr〉"  
  49. response.write "〈tr〉〈td〉〈b〉Album: 〈/b〉〈/td〉" & _  
  50. 〈td〉" & strAlbum & "〈/td〉〈/tr〉"  
  51. response.write "〈tr〉〈td〉〈b〉Year: 〈/b〉〈/td〉" & _   
  52. "〈td〉" & strYear & "〈/td〉〈/tr〉"  
  53. response.write "〈tr〉〈td〉〈b〉Comment: 〈/b〉" & _   
  54. "〈/td〉〈td〉" & strComment & "〈/td〉〈/tr〉"  
  55. response.write "〈/table〉"  
  56. objStream.Close   
  57. Response.Write "〈p〉〈hr〉〈p〉"  
  58. Next  
  59. Set objStream = Nothing 'Clean up...   
  60. %〉   

 



文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
相关日志:
评论: 0 | 引用: 0 | 查看次数: 748
发表评论
昵 称: 注册帐号 密码: 游客直接输入昵称不需要密码
内 容:
验证码: 验证码