واضح آرشیو وب فارسی:سایت ریسک: آموزش کار با صدا در as3.0 (فارسی) Mr. LonelY 07 مهر 1388, 16:00سلام این آموزش فارسی کار با صدا در as3.0 هست که به درخواست آقای amird واستون میزارم. این هم لینک انگیسیشه که خیلی کامل تره () این آموزش شامل 4 بخشه بخش اول ساخت دکمه های Play & Stop بخش دوم ساخت دکمه Pause بخش سوم ساخت دکمه Mute بخش چهارم ساخت دکمه کم و زیاد کردن صدا بخش به بخش واستون میزارم. Mr. LonelY 07 مهر 1388, 16:07بخش اول ساخت دکمه های Play & Stop خوب ما تو این بخش میخوایم دو تا دکمه درست کنیم. یکی واسه ی Play و یکی دیگه هم واسه ی Stop که با زدن هر کدوم از دکمه ها کار مربوط به خودشون انجام بشه. برای شروع دوتا لایه درست میکنیم یکی واسه طراحی و دیگری واسه کد نویسی. تو لایه طراحی دوتا دکمه درست میکنیم، یکی واسه ی Play و یکی دیگه هم واسه ی Stop. قسمت کد نویسی: Instance Name ها دکمه ی Stop = stop_btn دکمه ی Play = play_btn این کد ها رو تو لایه ی کد نویسی و در فریم اول (فریم خالی) وارد کنید. var music:Sound = new Sound(new URLRequest("Music 1.mp3")); var sc:SoundChannel; خوب ما اینجا از کلاس Sound استفاده میکنیم یه متغیر به نام music از کلاس Sound درست میکنیم و در قسمت URLRequest آدرس آهنگ مورد نظرمون رومیدیم. برای دسترسی به کنترل های صدا یه متغیر به نام sc از نوع SoundChannel تعریف میکنیم. خوب ما دوتا تابع تعریف میکنیم، یکی واسه Play و دیگری هم واسه Stop. تابع برای Stop کد های زیر رو در ادامه ی کد های قبلی وارد کنید. stop_btn.addEventListener(MouseEvent.CLICK, stopMusic); function stopMusic(e:Event):void { sc.stop(); } خوب ما برای رویداد کلیک دکمه ی Stop تابعی با نام stopMusic رو نوشتیم. در تابع stopMusic آهنگ رو با دستور sc.stop قطع میکنیم. تابع برای Play کد های زیر رو در ادامه ی کد های قبلی وارد کنید. play_btn.addEventListener(MouseEvent.CLICK, playMusic); function playMusic(e:Event):void { sc = music.play(); } خوب ما برای رویداد کلیک دکمه ی Play تابعی با نام playMusicرو نوشتیم. در تابع stopMusic آهنگ رو با دستور sc = music.play قطع میکنیم. اگه جایی سوال داشتید بپرسید. فایل برنامه: Mr. LonelY 07 مهر 1388, 16:57برای کامل تر کردن یا زیبا سازی یا بهینه سازیه این برنامه تصمیم گرفتم یه تغییرات کوچیکی توش بدم. قسمت کد نویسی برنامه رو باز کنید در خط اول این کد رو اضافه کنید stop_btn.visible=false; در داخل تابع Stop این کد هارو اضافه کنید play_btn.visible=true; stop_btn.visible=false; در داخل تابع Play این کد هارو اضافه کنید play_btn.visible=false; stop_btn.visible=true; بعد برید رو صفحه ی اصلی تون (قسمت طراحی) دکمه های Play و Stop رو روی هم قرار بدید به طوری که مختصات هر دوتا یکی باشه. حالا اجرا کنید. شما میتونید اینو در گوشه ی صفحه ی اصلی برنامتون یا سایتتون یا ... استفاده کنید فایل برنامه: Mr. LonelY 07 مهر 1388, 22:54بخش دوم ساخت دکمه Pause خوب ما تو این بخش میخوایم دکمه ی Pause رو به برناممون اضافه کنیم. پس تو محیط طراحیمون یه دکمه ی دیگه درست میکنیم و Instance Nameش رو pause_btn قرار میدیم. قسمت کد نویسی برنامه رو باز کنید. این کد رو در ادامه ی محل تعریف متغیر ها وارد کنید. var isPlaying:Boolean = false; var pos:Number = 0; خوب ما اینجا دوتا متغیر جدید تعریف کردیم. اولی متغیری به نام isPlaying از نوع Boolean و مقدار false، این متغیر برای اینه که ما متوجه بشیم که چه موقع آهنگ ما در حال پخش است و چه موقع در حال stop. اهنگ در حالت پخش isPlaying = true آهنگ در حالت قطع isPlaying = false دومین متغیر به نام pos و از نوع Number و مقدار 0 است، این متغیر قراره مکان یا موقعیت یا زمانی که آهنگ Pause میشه رو واسمون نگه داره. (در واقع یک عدد رو نگه میداره) خوب ما الان میخوایم برای رویداد کلیک دکمه ی دکمه Pauseیه تابع با نام pauseMusic بنویسیم. تابع برای Pause این کد هارو در ادامه ی کد های قبلیتون اضافه کنید. pause_btn.addEventListener(MouseEvent.CLICK, pauseMusic); function pauseMusic(e:Event):void { if (isPlaying) { pos = sc.position; sc.stop(); isPlaying = false; } } ما برای این دکمه شرط میزاریم، میگیم که اگه آهنگ در حالت پخش بود (یعنی اگه isPlaying = trueبود) : مکان یا موقعیت یا زمانی که آهنگ در حالت پخش بود رو در متغیر pos ذخیره کنه و آهنگ رو قطع یا stop کنه و isPlaying را false کنه. خوب حالا ما باید تابع های play و stop رو تغییر بدیم. تابع برای Play کد های زیر رو جایگزین کد های تابع Play میکنیم. play_btn.addEventListener(MouseEvent.CLICK, playMusic); function playMusic(e:Event):void { if (!isPlaying) { sc = music.play(pos); isPlaying = true; } } تو این دکمه هم شرط وجود داره، ما تو این شرطمون میگیم که اگه آهنگ در حالت قطع بود (یعنی اگه isPlaying = false بود) : آهنگ رو از نقطه ی pos شروع کنه (محتویات pos رو توی sc قرار میده ) و isPlaying را true کنه. تابع برای Stop کد های زیر رو جایگزین کد های تابع Stop میکنیم. stop_btn.addEventListener(MouseEvent.CLICK, stopMusic); function stopMusic(e:Event):void { if(sc != null) { sc.stop(); pos = 0; isPlaying = false; } } تو این دکمه هم شرط وجود داره، ما تو این شرطمون میگیم که اگه محتویات متغییر sc مخالف 0 بود (اگه یادتون باشه ما تو تابع Play محتویات pos رو توی sc قرار دادیم) : آهنگ رو Stop کنه و محتویات pos رو 0 کنه و isPlaying را false کنه. اینم از این بخش، اگه جایی رو نفهمیدید یا متوجه نشدید حتما بپرسید. فایل برنامه: ++Hadi++ 08 مهر 1388, 12:10مرسی عزیزم از لطفی که کردید ... امیدوارم تو همه کارها موفق و مؤید باشین... بای... Mr. LonelY 08 مهر 1388, 12:56مرسی عزیزم از لطفی که کردید ... امیدوارم تو همه کارها موفق و مؤید باشین... بای... مرسی مرد. خواهش میشه!!! Mr. LonelY 10 مهر 1388, 00:38بخش سوم ساخت دکمه Mute خوب ما تو این بخش میخوایم به شما آموزش بدیم که چه طوری یه دکمه ی Mute رو درست کنید. ما تو این قسمت یه مووی کلیپ درست میکنیم، راجعبه ساختش توضیح نمیدم چون خیلی طولانی میشه، تو فایل برنامه هست خودتون ببینید، سادست. و Instance Name این مووی کلیپ رو mute_mc میزاریم. قسمت کد نویسی برنامه رو باز کنید. این کد رو در ادامه ی محل تعریف متغیر ها وارد کنید. var soundVolume:Number = 1; var muted:Boolean = false; mute_mc.buttonMode = true; خوب ما اینجا یه متغییر به نام soundVolume و نوع Number تعریف کردیم و مقدار اولیه ش رو هم 1 گزاشتیم (یعنی صدا فعاله). هروقت که soundVolume ، 1 باشه صدا فعاله و هروقت که 0 باشه صدا غیر فعاله. تو خط دوم یه متغییر دیگه به نام muted از نوع Boolean و مقدار false ، این متغیر برای اینه که ما متوجه بشیم که چه موقع آهنگ صدا داره و چه موقع صدا نداره. خط آخر هم که مشخصه، buttonMode مووی کلیپ mute_mc رو فعال میکنیم خوب حالا ما یه تابع برای صدا مینویسیم. تابع برای Mute کد های زیر رو به برنامتون اضافه کنید. mute_mc.addEventListener(MouseEvent.CLICK, mute); function mute(e:MouseEvent):void { if (sc != null) { var st:SoundTransform; if (muted) { st = new SoundTransform(soundVolume); sc.soundTransform = st; mute_mc.gotoAndStop("On"); muted = false; } else { st = new SoundTransform(0); sc.soundTransform = st; mute_mc.gotoAndStop("Mute"); muted = true; } } } خوب ما تو این تابعمون از if تو در تو استفاده کردیم. ما تو شرط اولمون میگیم که اگه محتویات متغییر sc مخالف 0 بود (به تابع Stop رجوع کنید) کار های زیر رو انجام بده. یه متغییر دیگه به نام st از کلاس SoundTransform تعریف کردیم. حالا شرط دمو رو چک میکنیم. تو شرط دوم گفتیم که اگه muted برابر false شد: محتویات soundVolume (که اول تعریف کردیم و مفدار 1 بهش دادیم) رو بریز تو متغییر st و محتویات st رو توی sc.soundTransform قرار بده و بره توی مووی کلیپ و فریم On رو اجرا کنه (برای تغییر شکل) و مقدار muted رو false کنه. وگرنه یا else مقدار st رو 0 کنه و st رو توی sc.soundTransform قرار بده و توی مووی کلیپ و فریم Mute رو اجرا کنه (برای تغییر شکل) و مقدار muted رو trueکنه. اینم از این بخش، اگه جایی رو نفهمیدید یا متوجه نشدید حتما بپرسید. فایل برنامه: Mr. LonelY 10 مهر 1388, 00:41مرسی دوستان از استقبال گرمتون! :mad: :sad: evt 20 مهر 1388, 16:53آموزش خوبی بود من استفاده کردم . امیدوارم دوستان کم لطفی نکند . Mr. LonelY 28 آبان 1388, 13:38بخش چهارم ساخت دکمه کم و زیاد کردن صدا خوب ما تو این بخش میخوایم دو تا دکمه درست کنیم. یکی واسه ی زیاد کردن صدا و یکی دیگه هم واسه ی کم کردن صدا که با زدن هر کدوم از دکمه ها کار مربوط به خودشون انجام بشه. Instance Name ها دکمه ی زیاد کردن صدا = up_btn دکمه ی کم کردن صدا = down_btn کد های زیر رو در ادامه ی کد هاتون اضافه کنید. توضیحات مربوط به هر دستور رو جلوش دادم، اگه جایی رو متوجه نشدین یا سوال داشتید بپرسید. var soundControl:SoundChannel = new SoundChannel();//برای دست رسی به کنترک صدا از کلاس رو به رو استفاده میکنیم var volumeControl:SoundTransform = new SoundTransform();//برای تغییر در کنترل ها از کلاس رو به رو استفاده میکنیم up_btn.addEventListener(MouseEvent.CLICK, increaseVolume);//وقتی دکمه ی زیاد کردن صدا زده شد تابع مربوطه رو اجرا میکنه down_btn.addEventListener(MouseEvent.CLICK, decreaseVolume);//وقتی دکمه ی کم کردن صدا زده شد تابع مربوطه رو اجرا میکنه function increaseVolume(event:MouseEvent):void { //برای زیاد کردن صدا volumeControl.volume += .1; soundControl.soundTransform = volumeControl; } function decreaseVolume(event:MouseEvent):void { //برای کم کردن صدا volumeControl.volume -= .1; soundControl.soundTransform = volumeControl; } اینم بخش آخر آموزش کار با صدا امیدوارم لذت ببرید و ازش استفاده کنید!
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 813]