سلام.
چند وقت پیش (حدود 7 ماه پیش) این مقاله رو تو انجمن فلش گذاشته بودم و الآن بعد از مدت ها تصمیم گرفتم بصورت مقاله هم درش بیارم و در اختیار شما دوستان قرار بدم.
طبق قولی که داده بودم آموزش رقص نور (equalizer) رو براتون آماده کردم
تو این چند روز که در حال تحقیق در مورد رقص نور بودم به سایت های مختلفی سرزدم و موارد مختلفی از اون رو دیدم اما بیشتر رقص نور ها بصورت Static بودن یعنی در اصل با خود فایل صوتی هماهنگ نبودند .
اما بالاخره به نتیجه رسیدم و این هم نتیجه تحقیق من :
به این نتیجه رسیدم که خود فلش و دستوراتش فعلا این قدرت رو ندارند که خودشون به تنهایی کار تشخیص بالا یا پایین صدا رو بدن بهمین خاطر ما برای اینکه بتونیم یک equalizer هماهنگ برای فایل صوتیمون بسازیم اول باید بوسیله یک برنامه دیگه (مثلا " Spectrum Laboratory " ) بالا و پایین بودن صدا رو در جاهای مختلف فایل صوتی بدست بیاریم .
برای این کار شما باید این برنامه رو Download کنید (حجمش 1.46 MG هست).
البته باید بگم که این برنامه برای فایل های Wav کاربرد داره و اگر فایل صوتی شما MP3 هست باید اول اون رو به Wav تبدیل کنید.
حالا اول اون برنامه ای که لینک دادم رو Download کنید و بعد نصب کنید .
بعد این فایل رو Download کنید (البته اگر روی سیستمتون دلفی دارید لازم نیست Download کنید.)
حالا توی اون فایل(vcl40.zip) یک فایل هست به نام " vcl40.bpl " که اون رو باید به مسیر " X:windowssystem32"(از Xp به پایین X:windowssystem) کپی کنید. (این فایل به کامپایل کردن فایل Wav توسط برنامه " Spectrum Laboratory " کمک می کنه )
بعد باید این فایل رو Download کنید .
برنامه Spectrum Laboratory رو باید یک سری تنظیم کنید که من اون سری تنظیمات رو قبلا انجام دادم و فایلش رو برای شما گذاشتم تا Download کنید(فایل D_ActionScript9_SpectAnaSetting.zip میگم)
حالا اون فایل (D_ActionScript9_SpectAnaSetting.zip) رو باز کنید و بعد اون 3 تا فایل (" SETTINGS.INI " و " MCONFIG.INI " و " current.edf ") رو تو مسیری که برنامه " Spectrum Laboratory " نصب کردید کپی کنید. اگر پیغام اومد ,که این فایل ها موجود هستند , YestoAll رو بزنید که فایل ها جایگزین بشن .
حالا برنامه رو اجرا کنید و بعد به منوی File برید و از اونجا گزینه " Text file export " رو انتخاب کنید.
بعد طبق عکس زیر برنامه رو تنظیم کنید.
حالا به تب " FileName & Actrivation " برید و جلوی" Data File " مسیری بدید که می خواید فایل Log بالا و پایین بودن صدا اونجا ذخیره بشه , رو وارد کنین.
خوب حالا به قسمت پایانی کار با این برنامه رسیدم .
به منوی File برید و گزینه " Analyze input from *.WAV-file " رو از " Wave File " انتخاب کنید.
حالا در پنجره باز شده فایل Wav خودتون رو انتخاب کنید و بعد دکمه Open رو فشار دهید.
بعد از اون کار , یک پنچره باز میشه . اون پنجره رو طبق عکس زیر تنظیم کنید :
بعد از تنظیمات دکمه" OK " رو بزنید .
حالا مدتی صبر کنید تا وقتی که اون گراف ها , از حرکت بیفتن .
بعدا به مسیری که آدرس فایل Log رو داده بودید برید و اون فایل رو با " notepad " باز کنید و خط اول اون رو که نوشته " ,,,,,,,,, " رو پاک کنید به بجای اون بنویسید "=sdata" و بعد به آخر فایل برید و بنوسید " "&loadstatus=1 " (مثل عکس زیر).
بعد از انجام تغییرات اون فایل رو ذخیره کنید (البته قبل از ذخیره کردن, باید برنامه " Spectrum Laboratory " رو ببندید).
خوب حالا به قسمتی می رسیم که باید با فلش کار کنیم . فلش رو اجرا کنید .
و یک فایل جدید بسازید , Size ش فرقی نداره .
قبل از هر چیز Ctrl+R رو بزنید تا پنجره Import نمایش داده شود حالا فایل صوتی خودتون رو انتخاب کنید.
بعد از Import کردن کلید F11 رو بزنید که پنجره Library نمایش داده بشه .
حالا باید اون فایل صوتی که Import کردید رو لینک کنیم . برای این کار :
1- روی فایل صوتی توی Library راست کلیک کنید و بعد از منوی باز شده گزینه ی " Linkage " رو انتخاب کنید.
2- در پنجره باز شده روی CheckBox مربوط به گزینه ی " Export for ActionScript " کلیک کنید تا فعال شود.
3- حالا یک اسم به عنوان لینک به این فایل صوتی بدید (مثلا" mys1 ). بعد OK رو بزنید.
حالا نوبت به نوشتن Script ها میرسه .
روی فریم اول کلیک کنید و بعد کلید F9 رو بزنید و در پنجره ActionScript باز شده کد زیر را وارد کنید :
this.soundChannel = new Sound(this);
this.soundChannel.attachSound("mys1");
this.sdata="";
this.Row=;
this.interval = this.soundChannel.duration/Row;
gotoAndStop(2);
کد فریم دوم :
soundChannel.start();
کد فریم سوم :
stop();
خوب حالا این فایل رو ذخیره کنید.
حالا باید این فایل Download کنید.
این فایل Zip شامل چند فایل است .
1- convert.swf ==> فایلی جهت تبدیل کد فایل Log به کدی مورد استفاده .
2- effectage.swf ==> فایلی مثلی فایلی که شما در بالا ساختید.
3- nike.swf ==> فایلی مثلی فایلی که شما در بالا ساختید.
4- spectrumAnalyzer.swf ==> فایل اصلی رقص نور .
5- spectrumAnalyzer.fla ==> سورس فایل اصلی رقص نور .
خوب حالا اول فایل Convert.swf رو در مسیری که فایل log شما قرار داره کپی کنید و بعد اون رو اجرا کنید.
حالا اسم اون فایل رو (بدون پسوند) وارد کنید و بعد رو دکمه Convert کلیک کنید.
خوب حالا کدی رو که بدست آمده کپی کنید و در فریم اول فایل فلشی که ساختید در اون قسمتی که نوشتید ;""=this.sdata در بین دو کتیشن (") کپی کنید .
به فایل Convert.swf برگردید در پایین همین قسمتی هست که نوشته تعداد سطر ها اون عدد رو کپی کنید در فایل فلش در قسمتی که نوشته بود ;=Row
نمونه ای از اعداد :
this.sdata = "299999999927899999995788988999299999999919889999991766676777166656565438
78988988277788889916677777882867889999147777788817788888992777787876377777777626789
99999177889899926577788882788999999298789799936656756667988888888699999999927888889
99167899999927588999994489999999177889798848867777773766555654988999999927778988995
77777889914888999991667676777167777778827566767662899999999288999999957999999992787
8998991788999999167768788816555655551788888888268888899937778888991677888899147777
88892999998999288778878835766666654799999999178899999917778888991899999999088899999
94676675778178778788828999999996889999999188999999926677888986499999999167788898948
76797778165555555567999999992899898999477788889925689989991777787889157678778828899
99999";
this.Row = 74
خوب حالا فایل fla رو ذخیره کنید و Ctrl+Enter رو بزنید تا فایل swf اون هم ساخته بشه .
الآن تقریبا اون قسمت از کار رقص نور که فلش قادر به انجام اون نبود رو تموم کردیم.
حالا این فایل swf که ساختید رو توی یه پوشه خالی بزازید و بعد فایل spectrumAnalyzer.swf رو هم توی اون پوشه کپی کنید و اسم فایل swf که خودتون ساختید رو nike (یا nike.swf) بزارید و بعد فایل spectrumAnalyzer.swf رو اجرا کنید و بعد روی دکمه nike freestyle کلیک کنید و بعد روی دکمه play کلیک کنید .
حالا می بینید که رقص نور به درستی کار میکنه
امید وارم تا اینجای کار خسته نشده باشید چون فعلا یه قسمتیش مونده
بخاطر اینکه خودم هم خسته شدم فعلا خود فایل spectrumAnalyzer.swf رو توضیح نمیدم و همون طور که دیدید اصل سورس فایل رو براتون قرار دادم(تو همون فایل " source.zip " هست به اسم spectrumAnalyze.fla) .
فقط اصل کار رو بگم , که به این صورت هست :
توی این فایل (" spectrumAnalyze ") میاد اول اون فایل (Swf ی که فایل صوتی در اون هست) رو Load میکنه و بعد با استفاده از اون اعداد موجود در sdata موجود در فایل swf صوتی بالا و پایین رفتن اون رقص نور ها رو تنظیم میکنه .
اگر هم فعلا حوصله انجام کل این کارها رو ندارد فقط فایل این (همون فایل بالایی هستش)
رو download کنید که دو تا نمونه رقص نور هم توش هست . فایل " spectrumAnalyzer.swf " رو اجرا کنید اونجا 2 تا دکمه هست یکی Nike و دیگری effectage , روی هر کدوم کلیک کنید آهنگ مربوط به اوها (که توی فایل ها nike.swf و effectage.swf قرار دارند ) نمایش داده میشه.
اگر سوالی در هر قسمت از آموزش براتون پیش اومد حتما بپرسید چه در موردی قسمتی که آموزش دادم چه در مورد فایل spectrumAnalyzer.fla .
امیدوارم که اموزش مفیدی براتون واقع بشه .
در آخر هم بگم که :
هرگونه کپی برداری و یا نقل این مطلب , با ذکر نام نویسنده(نوید مردوخ روحانی) و این سایت (MajidonLine) بلا مانع است .
امید وارم از این آموزش لذت برده باشید .
موفق باشید ..