اسمحوا لي أن أتحدث بإيجاز عن علامة ID3 الخاصة بـ MP3 أولاً، لأنها تستخدم بشكل أساسي لتشغيل هذا الشيء.
في البداية لم يكن MP3 يحتوي على معلومات عن المطربين والسنوات والألبومات وغيرها كما نرى اليوم.
لا يوجد سوى بعض المعلمات البسيطة مثل نعم/لا للإشارة إلى ما إذا كانت خاصة أو محمية بحقوق الطبع والنشر، وما إلى ذلك. وقد أدى هذا إلى الكثير من الإزعاج للعمل المتعلق بملفات MP3. في عام 1996، اقترح أحد الأجانب إلحاق جزء من البيانات بعد كل ملف MP3 ، وذلك باستخدام لتخزين المعلومات المذكورة أعلاه، وقد تطورت لاحقًا إلى id3 v1. وعلى حد علمي، فقد وصلت إلى 1.1 الآن، ومن الأفضل أن أتحقق منها بنفسي.
لا يزال استخدام البيانات الوصفية لتقديم DLL عادة قديمة، وقد نشرت عنها من قبل. إذا كنت لا تعرف ذلك، فيرجى التحقق من ذلك بنفسك.
انظر إلى الكود
<!--نوع بيانات التعريف=typelib
UUID=00000205-0000-0010-8000-00AA006D2EA4
NAME=مكتبة نوع ADODB
-->
<%
وظيفة ConvertBin (ثنائي)
'تقوم هذه الدالة بتحويل البايت الثنائي إلى بايت ASCII.
لأني = 1 إلى LenB (ثنائي)
strChar = chr(AscB(MidB(Binary,i,1)))
ConvertBin = ConvertBin & strChar
التالي
وظيفة النهاية
com.dimobjStream
خافت strTag، strSongName، strArtist، strAlbum، strYear، _
strComment، strGenre، strFile
'حدد المجلد الذي تريد التكرار فيه، مع عرض جميع ملفات MP3
مجلد Const = C:/mp3s/
"احصل على معلومات المجلد."
خافت objFSO، objFolder، objFile
تعيين objFSO = Server.CreateObject(Scripting.FileSYstemObject)
تعيين objFolder = objFSO.GetFolder (مجلد)
'قم بإنشاء كائن الدفق
تعيين objStream = Server.CreateObject(ADODB.Stream)
objStream.Type = adTypeBinary
"قم بالتمرير عبر الملفات الموجودة في المجلد."
لكل objFile في objFolder.Files
"افتح الدفق."
objStream.Open
objStream.LoadFromFile objFile.Path
'اقرأ آخر 128 بايت
objStream.Position =objStream.size - 128
"اقرأ معلومات علامة ID3 v1."
strTag = ConvertBin(objStream.Read(3))
إذا ucase(strTag) = TAG إذن
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))
نهاية إذا
'عرض النتائج
استجابة.كتابة <الجدول><tr><td colspan=2><h3> & _
معلومات علامة ID3 لـ:</td></tr><tr> & _
<td colspan=2> & objFile.Name & </td></tr>
Response.write <tr><td><b>الفنان: </b></td> & _
<td> & strArtist & </td></tr>
Response.write <tr><td><b>المسار: </b></td> & _
<td> & strSongName& </td></tr>
Response.write <tr><td><b>الألبوم: </b></td> & _
<td> & strAlbum & </td></tr>
Response.write <tr><td><b>السنة: </b></td> & _
<td> & strYear & </td></tr>
Response.write <tr><td><b>التعليق: </b> & _
</td><td> & strComment & </td></tr>
الاستجابة.اكتب </table>
objStream.Close
الرد.اكتب <p><hr><p>
التالي
تعيين objStream = لا شيء'تنظيف...
%>
جربه بنفسك