خانه » مالتی مدیا » ادوبی فلش » پخش صدا در اکشن اسکریپت ۳ – بخش دوم

پخش صدا در اکشن اسکریپت ۳ – بخش دوم

در ادامه  بخش اول مبحث پخش صدا در اکشن اسکریپت ۳ به موارد دیگر ذکر شده در آن مطلب می پردازیم :


پخش یک فایل صوتی خارجی (خارج از فلش )

پخش کردن یک فایل صوتی خارجی ساده تر از پخش فایل صوتی داخل فلش می باشد زیرا شما نیازی به وارد کردن فایل برای ساخت کلاسی برای فراخوانی فایل ندارید.

برای شروع یک پروژه جدید فلش ایجاد کنید و آن را در محلی مثل دسکتاپ ذخیره کنید و فایل .mp3 مربوطه را نیر در همان محل قرار دهید و فایل صوتی را به myFavSong.mp3 تغییر نام دهید.

حال به پروژه FLa خود برگردید و پنل اکشن را باز نمایید با دکمه F9 و نوشتن کد را شروع می کنیم ، در ابتدا سراغ ساختن new از کلاس Sound می نمایید و آن را به mySound مقدار دهی می کنیم و بعد با استفاده از متد .load این کلاس اقدام به بارگزاری فایل مریوطه می کنیم و در نهایت با استفاده از متد .play اقدام به پخش صدای بارگزاری شده می نماییم.

در زیر به که موارد ذکر شده دقت نمایید :

var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();



همان طور که در کد بالا مشاهده می کنید برای استفاده از آدرس یک فایل در بخش load در AS3 از کلاس URLRequerst استفاده می کنیم برای اطلاعات بیشتر در مورد این کلاس می توانید به راهنمای نرم افزار فلش مراجعه نمایید. شما هم اکنون می توانید پروژه را تست نمایید و پخش شدن فایل خارجی بارگزاری شده را تست نمایید.

Stop کردن صدا

تا اینجا درباره انواع پخش کردن صدا با اکشن صحبت کردیم در ادامه به نحوه Stop کردن و یک مثال خواهیم پرداخت.
نکته ای که وجود دارد این است که کلاس Sound متدی برای Stop کردن صدا ندارد و ما برای این کار می بایست از کلاس SoundChannel کمک بگیریم. ما می بایست یک SoundChannel یا کانال صوتی ایجاد کنیم و عملکرد متد play کلاس Sound رو با اون برابر قرار بدیم تا بتونیم از متد SoundCannel برای صدای خودمون استفاده کنیم.

در زیر به توضیحی از متدهای کلاس SoundChannel می پردازیم:

  • .stop() –این متد صدای که درون کانال مورد نظری در حال پخش است را Stop می کند.
  • .position – این متد محل جاری صدای در حال پخش را در کانال مورد نظر ما بر می گرداند.
  • .soundTransform – برای تغییر صدا مثل ولوم و جا به جایی بین پخش سمت چپ و راست می باشد.

در ادامه ما یک پروژه جدید فلش ایجاد می کنیم و قصد داریم یه فایل صوتی خارجی را بارگزاری و پخش کنیم و با یک دکمه Stop در زمان کلیک بر روی آن عمل پخش را Stop نماییم

در مرحله اول یک دکمه Button از پانل کامپوننت ها Window>Components درگ کرده و در صفحه قرار دهید و instance name آن را stop_btn قرار دهید ، شما می تونید از تب پارامتر های کامپوننت lable دکمه را به Stop تغییر دهید.

هم اکنون دکمه ای ایجاد کردیم که در زمان کلیک بر روی آن صدا می بایست Stop شود.
پنل اکشن را باز نمایید و یا بر روی تنها فریم موجود در تایم لاین TimeLine راست کلیک کرد و Actions را انتخاب نمایید تا پانل اکشن نمایش داده شود.

مرحله بعد شروع نوشتن کد ها می باشد طبق کدهایی که در مرحله های قبلی توضیح دادیم کلاس Sound را برای بارگزاری صدا ایجاد می کنیم و صدا را با متد play پخش می کنیم.

var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();

ما برای کنترل بر روی صدا و اعمال متد Stop همان طور که در اول هم گفتیم می بایست از SoundChannel استفاده کنیم در کدی در زیر می بینید ما این کلاس تعریف کردیم:

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();

برای این که کلاس SoundChannel بر روی صدای ما کنترل داشته باشد نیاز به این داریم که پیوندی بین این دو ایجاد نماییم و این کار را با جا به جایی خط آخر کد بالا انجام می دهیم ، در واقع عمل play را به کلاس SoundChannel که در اینجا با myChannel تعریف شده می دهیم.

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();

حال به راحتی می توانید با ایجاد رویداد برای دکمه از متد stop مریوط به کلاس SoundChannel استفاده کنیم.

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();

stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);

function onClickStop(e:MouseEvent):void{
myChannel.stop();
}

حال می توانید پروژه را تست نمایید در زمان اجرا به صورت خودکار صدا می بایست پخش شود و با کلیک بر روی دکمه Stop می بایست صداد Stop شود.

توصبه می شود بخش اول مبحث پخش صدا در اکشن اسکریپت ۳ را نیز مطالعه نمایید

Print Friendly
تگ ها :
پیوند مطلب قبلی
پیوند مطلب بعدی

درباره بهروز پولادرگ

متولد : ۵ مرداد سال ۱۳۶۷ ، حرفه : ادوبی فلش ، برنامه نویسی و طراحی وب ، طراحی گرافیک ، مالتی مدیا ، نرم افزار های تحت وب

8 نظر

  1. پیمان رشیدی زنوز

    سلام
    آقا خسته نباشید واقعا ممنون از سایت خوبتون من یه زمانی فلش درس می دادم درسطح ابتدائی واقعا همونطور که می گید ما ها خیلی از تکنولوژی عقب هستیم چند روزه که سایت شما رو پیدا کردم ولی کلی از مشکلاتم رو حل کردم بازم منون.

  2. ممنون از توصیحتون…خیلی مفید بود…

  3. سلام استاد
    میشه آموزش ساخت اپلیکیشن برای اندروید بگذارید؟

  4. برای عقب جلو و یا پرش به موقعیت زمانی خاص از صوت باید چکار کرد؟

    • سلام
      در آموزش ها ذکر شده است از seek و مقدار دهی به آن باید استفاده کنید باید مثلا برای نوار نسبت طول نوار را به طول صدا بدست بیاورید و با کلیک بر روی نوار موقعیت کلیک را محاسبه و مقدار مناسب برای وارد کردن در آرگمان seek را پیدا کرده و با اجرای آن صوت را به عقب یا جلو و یا زمان خاصی حرکت دهید
      در مورد این دستور در اکشن اسکریپت ۳ ، در وب بیشتر جستجو کنید
      موفق و پیروز باشید

ارسال جواب

آدرس رایانامه شما منتشر نخواهد شد.فیلد های اجباری علامت گزاری شده اند *

*

رفتن به بالای صفحه