آموزش ساخت MP3-Player در Flash

MnavidM

Active Member
آموزش ساخت MP3-Player در Flash

مرحله : مرحله اول - آشنايي با كلاس Sound

سطح : پيشرفته

تهيه كننده : نويد مردوخ روحانی

امكانات مورد نياز اين مرحله :
1 => Flash MX Professional 2004

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

پس اول بايد قبل از هر كاري مقدماتی در مورد اين كلاس ياد بگيريم :wink:

کد:
var MySound:Sound = new Sound();

در خط بالا اول يك شی را از نوع Sound تعريف ميكنيم و بعد اين شی رو آماده كار ميكنيم .

حالا اگه بعد از اين خط تو ActionScript بنويسيد MySound و بعدش . "نقطه" بزاريد يك سري از توابع مربوط به اين شي رو به شما نشون ميده كه خودش خيلي غنيمته :lol:

حالا اينجا چند تا از اصلي ها شو با هم بررسي ميكنيم .

1- لود فايل Mp3
کد:
MySound.loadSound(URL,isStreaming);

كه در اينجا URL مسير فايل MP3 ميشه و بصورت String مي تونيد بهش بديد .

اما نكته جالب در مورد isStreaming هست !! :neutral:

شما به جاي isStreaming مي تونيد از false و يا true استفاده كنيد .

- اگر false باشه MP3 كامل Load ميشه و بعد بخش ميشه .
- اگر true باشه MP3 تا اونجايي كه Load بشه بخش ميشه و منتظر Load كامل نميشه .

كه بستگي به نياز شما مي تونيد از false و يا true استفاده كنيد .

2- بخش MP3
کد:
MySound.start([secondOffset, loop]);

اين method دو پارامتر اختياری داره .

كه secondOffset يعني MP3 شما از چندمين ثانيه شروع به خوندن كنه .

و loop هم تعداد دفعات تكرار پخش MP3 هست .

3- توقف بخش MP3
کد:
MySound.stop(["idName"])

پارامتر خاصي نداره , فقط موجب قطع شدن بخش MP3 ميشه .

4- تعيين ميزان بلندی صدای Mp3
کد:
MySound.setVolume(volume)

كه به جاي volume يه عدد در بين 0 تا 100 برای ميزان بلندی صدای MP3 بزاريد .

5- بلندی صدا در هر يك از Speaker ها
کد:
MySound.setPan(pan);

پارامتر pan از 100- تا 100 مقدار ميگيره .

چند مثال برای نحوه كار اين پارامتر :
- اگه روی 0 باشه صدا به صورت مساوی بين S-چپ و S-راست بخش ميشه .
- اگه روی -100 باشه صدا فقط در S-چپ شنيده ميشه .
- اگه روی 100 باشه صدا فقط در S-راست شنيده ميشه .

خوب برای امروز كافيه , بعدا بقيش رو مي نويسم :oops:
اميدوارم خوشتون اومده باشه.

توجه : هر گونه كپي برداری از اين مطلب غير مجاز است مگر با ذكر نام نويسنده (نويد مردوخ روحانی ) و اين سايت (MajidOnLine ) .

موفق و پيروز باشيد - 84/05/18 .
 

riddick

New Member
bebakhshid ke pingilish type mikonam ...majbooram

---------------------------
khob mitoonesty ye file e .swf ya .FLA ham bezary! too site haye khareji hamishe in karo mikonan
 

MnavidM

Active Member
سلام.

شرمنده که آموزش یه مقدار دیر شده .

انشاالله اگه خدا بخواد امروز یا فردا نحوه ایجاد Play list با XML رو آموزش میدم .

و البته با یه نمونه سورس :wink:

موفق باشید
نوید.
 

MnavidM

Active Member
آموزش ساخت MP3-Player در Flash - ليست فايل

آموزش ساخت MP3-Player در Flash

مرحله : مرحله دوم - ساختن File List

سطح : پیشرفته

تهیه كننده : نوید مردوخ روحانی

امكانات مورد نیاز این مرحله :
1 => Flash MX Professional 2004
2 => 2 فایل MP3

برای ساخت File List یا همون MP3 List به 2 چیز اصلی نیاز دارید :
1- List Component
2- استفاده از XML

Component لیست رو می تونید از تب Component و گروه UI Components انتخاب كنید و بعد بیاریدش رو فرم كار (Drog&Drop) و اسم اون رو track_list بزارید.

قالب مورد استفاده ما در اینجا برای XML به این صورت هست .
کد:
<MNavidM-Mp3><linkMp3 link="mp3s\mp3-0.mp3">Hello boy</linkMp3><linkMp3 link="mp3s\mp3-1.mp3">Good sun</linkMp3>
</MNavidM-Mp3>

این كدی كه نوشتم رو باید توی یه فایل مثلا filelist.xml ذخیره كنیم تا بعد توی فلش فراخوانیش كنیم و List رو به این وصیله مقدار دهی كنیم .

توجه كنید كه فایل XML قالبش حتما باید بین یه تگ اصلی (در اینجا MNavidM-Mp3) باشه و به ازای هر فایل MP3 كه می خواید تو لیست بیاد از یه تگ linkMp3 استفاده كنید .

توجه : حتما باید تگ linkMp3 پشت سر هم باشه وگرنه تو List یه مقدار براتون مشكل پیش میاد :neutral:

حالا میرسیم به خود كد XML :

کد:
var connection:XML = new XML();
var directory:XMLNode
var folder:XMLNode
var linkArray:Array = new Array()
var tipArray:Array = new Array()
var xmlPath:String = "playlist.xml"

connection.load(xmlPath);
connection.onLoad = xmlData;

function xmlData(success){

     if (success == true){

   directory = connection.firstChild
                                        
 xmlLength = directory.childNodes.length

 base = directory.childNodes

 for (i = 0;i < xmlLength;i++){

 tipArray.push(base[i].firstChild.nodeValue)

 linkArray.push(base[i].attributes.link)

}

track_list.setDataProvider(tipArray)

}

  }

توضیح دستورات:

در اول یه سری متغیر تعریف كردیم كه به عنوان وصیله ای هستند كه ارتباط ما رو با اون فایل XML مهیا می كنند .

بعد توسط متغیر xmlPath مسیر فایل XML رو مشخص كردیم .

connection.onLoad = xmlData توسط این خط به فلش میگم كه

جناب فلش وقتی خواستی فایل XML رو لود كنی تابع xmlData رو فراخونی كن :lol:

و به این وسیله تمركز بیشتر روی ورودیمون داریم .

و تو تابع xmlData میام و اول بررسی میكنیم كه ورودی درست وجود داره یا نه بعد توسط node ها (كه در اینجا اون سری متغیر جاشون رو میگیرن) مقادیر xml رو به دست میگیریم :)

و در آخر هم توسط (track_list.setDataProvider(tipArray مقادیر آرایه ی tipArray كه شامل مقادیر بین تگ linkMp3 هست رو در كامپوننت List قرار میدیم.

حالا یه كامپوننت List داریم كه شامل نام MP3 هامون هست و باید كاری كنیم كه با كلیك روی عناصر اون MP3 مربوطه بخش بشه .

برای این كار باید یك Event (رویداد) برای List تعریف كنیم.

کد:
var linking = new Object();

  linking.change = function( eventObject ){
	عملیات بخش MP3
}

  track_list.addEventListener("change",linking);

پس اومدیم یه Event ساختیم و بعد اون رو به track_list نسبت دادیم.

خوب كار تموم شد . در زیر یه نمونه Mp3 Player ساده براتون میزام .


البته تو نمونه فایل از 2 روش فراخونی MP3 استفاده كردم ولی بهتر هست كه خودتون كاریش كنید كه فقط با XML باشه :neutral: :wink:


سوالی بود بگید. (برای اینكه حجم فایل كمتر بشه , كیفیت MP3 ها رو كم كردم , به همین خاطر توی فلش یه مقدار توند پخش میشه)

توجه : هر گونه كپی برداری از این مطلب غیر مجاز است مگر با ذكر نام نویسنده (نوید مردوخ روحانی ) و این سایت (MajidOnLine ) .

موفق و پیروز باشید - 84/05/28 .
 

پیوست ها

  • Mp3-Player.rar
    349.6 کیلوبایت · بازدیدها: 526

MnavidM

Active Member
سلام.

آقا ||siavash|| فایل ضمیمه مرحله 2 , شامل آموزش مرحله یک هم هست .

موفق باشی.
نوید.
 
  • Like
Reactions: Mds

||SIAVASH||

Member
دستتون درد نکنه فقط اگه بخوایم یه کاری کنیم که pause هم براش درست کرد؟
 

MnavidM

Active Member
سلام.

در کلاس Sound , تابع خاصی برای این منظور وجود نداره اما میشه به این صورت عمل کرد :

مثلا در دکمه مخصوص Pause :
کد:
my_stop1=my_sound.position();
my_sound.stop();

و در دکمه مخصوص Play در جایی که صوت بخش میشه به این صورت تغییر میدیم .

کد:
if (my_stop1>0)
{
  my_sound.start(my_stop1);
  my_stop1=0;
}else
{
  my_sound.start();
}

موفق باشی.
نوید.
 

جدیدترین ارسال ها

بالا