WEB开发网
开发学院WEB开发ASP 用ASP实现对MP3曲目信息的操作 阅读

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

 2001-04-27 10:58:25 来源:WEB开发网   
核心提示:先简单说一下MP3的ID3 标记,因为主要是操作这个玩意MP3最开始的时候没有我们今天看到的那样,用ASP实现对MP3曲目信息的操作,有歌手、年代,专集等等信息只有一些简单的参数如yes/no来表示是不是PRivated或者copyrighted等信息,具体的还是自己去查一下吧还是老习惯,用metadata来引入DLL
先简单说一下MP3的ID3 标记,因为主要是操作这个玩意

MP3最开始的时候没有我们今天看到的那样,有歌手、年代,专集等等信息
只有一些简单的参数如yes/no来表示是不是PRivated或者copyrighted等信息,这样对MP3的相关工作带来了很多不便,1996年的时候有个老外提出来在每个MP3后面追加一段数据,用以存放上述的那些信息,后来就发展成为id3 v1 据我所知的现在已经到1.1了,具体的还是自己去查一下吧

还是老习惯,用metadata来引入DLL,我以前有文章贴过的,不知道的请自己去查

看代码

<!--METADATA TYPE="typelib"
   UUID="00000205-0000-0010-8000-00AA006D2EA4"
   NAME="ADODB Type Library"
-->

<%
 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

 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...
%>

自己试试吧

希望能对你有所帮助

Tags:ASP 实现 MP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接