آهنگ صفحه ی اول پروژه ادامه پیدا کنه

ameir-hg

Active Member
سلام به همه. دو تا سوال:
1-چه جوری میشه اگه یه آهنگ که روی صفحه ی اول پروژه گذاشتیم با رفتن به صفحه ی بعد دوباره از اول شروع نشه و ادامه پیدا کنه؟
2- یه دکمه می خوام که روشن خاموش بشه و کاربر رو ترغیب کنه که روی دکمه ی مذکور کلیک کنه ، چه جوری میشه این کارو کرد؟ مثل این:

 

پیوست ها

  • ogyoo9.gif
    ogyoo9.gif
    31.6 کیلوبایت · بازدیدها: 25

phonix54

Member
شما آهنگ رو تو سورس صفحه گذاشتین به همین دلیل وقتی یک صفحه جدید لود میشه همه چیز و از جمله آهنگ مجددا بارگزاری و اجرا میشه.تنها راه اینکه بتونین این کار رو انجام بدین اینه که از wrapper استفاده کنین و با اینکه صفحات جدید به شکل ایجکس لود بشه که مثلما صفحه جدید کد آهنگ رو نداره.در مورد دکمه هم که خوب از فلش یا gif استفاده کنید
 

ameir-hg

Active Member
phonix54 عزیز ، میشه یکم واضحتر در مورد wrapper توضیح بدید؟ یکی از دوستانم میگفت من قبلا این کار رو انجام دادم (= قرار دادن آهنگ که روی صفحه ی اول پروژه که با رفتن به صفحه ی بعد دوباره از اول شروع نشه و ادامه پیدا کنه)و چند سالیه که دیگه کار نکردمو الان یادم رفته!!!
 

msnv

Well-Known Member
سلام
خب آهنگتون رو در این قسمتی که توو تصویر مشخصه قرار بدین (البته رو این سیستمی که نشستم صدا نداره هنوز تستش نکردم)

موفق باشید
 

پیوست ها

  • back_music.JPG
    back_music.JPG
    38.4 کیلوبایت · بازدیدها: 73

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
شما آهنگ رو تو سورس صفحه گذاشتین به همین دلیل وقتی یک صفحه جدید لود میشه همه چیز و از جمله آهنگ مجددا بارگزاری و اجرا میشه.تنها راه اینکه بتونین این کار رو انجام بدین اینه که از wrapper استفاده کنین و با اینکه صفحات جدید به شکل ایجکس لود بشه که مثلما صفحه جدید کد آهنگ رو نداره.در مورد دکمه هم که خوب از فلش یا gif استفاده کنید
توضیحاتی که ارائه دادین بیشتر نزدیک به مباحث طراحی وب هست ;)

برای اینکار میتونید مثلاً از کد زیر در Page Start پروژه تون استفاده کنید:
کد:
[color=#0000FF]If[/color] (Visit = [color=#ff0000]0[/color]) [color=#0000FF]Then[/color] 
  Path$ = [color=#800000]'<SrcDir>\Music.mp3'[/color] 
  [color=#000090][b]BackgroundPlay[/b][/color]("Path$","LOOP") 
[color=#0000FF]End[/color] 
Visit = Visit + [color=#ff0000]1[/color]

برای دکمه هم میتونید از فایلهای gif یا حتی فلش استفاده کنید.
 

Xowom

Member
من هم یه نظری دارم امید وارم به دردتون بخوره. فرض کنیم صدا تو صفحه ی MainPage پلی میشه و شما تو تنظیمات این صفحه فایل صدا رو انتخاب کردین. در این صفحه فایل صدا رو بردارین و انتخابش نکنین. یه صفحه ی خام قبل از MainPage باز کنین. مثلا BlankPage . حالا فایل صدا رو تو این صفحه انتخاب کنین و در اسکریپت این صفحه ()NextPage رو قرار بدین. حالا وقتی پروژه رو باز می کنیم اول میاد به BlankPage. صدا پلی میشه و بعد میره به صفحه ی اصلی. چون به صفحه ی BlankPage بر نمی گردیم دیگه صدا قطع و پلی نمیشه.
موفق باشید.
 

evil_gates

اين نيز بگذرد ...
سلام به همه. دو تا سوال:
1-چه جوری میشه اگه یه آهنگ که روی صفحه ی اول پروژه گذاشتیم با رفتن به صفحه ی بعد دوباره از اول شروع نشه و ادامه پیدا کنه؟
2- یه دکمه می خوام که روشن خاموش بشه و کاربر رو ترغیب کنه که روی دکمه ی مذکور کلیک کنه ، چه جوری میشه این کارو کرد؟ مثل این:


دوست عزيز
در مورد سوال اولتون دوستان راهنمايي لازم رو كردن.

براي سوال دوم هم عرض مي‌كنم كليدي كه شما نمونش رو قرار دادين يك فايل gif هست و تو mmb از شي gif به عنوان كليد نميشه استفاده كرد.

دوتا راه‌حل پيشنهاد ميكنم:

2 تا تصوير روي هم قرار بديد و براي هر دو يك كد واحد بنويسيد تا در صورتي كه رو هر كدوم كليك كردن دستورات مربوطه شما اجرا بشه. بعد با يك اسكريپت و يك ايجاد يك فاصله زماني تصاوير رو يك در ميان مخفي و نمايش بديد

كليد موردنظر رو تو فلش طراحي كنيد و با دستور fscommand در mmb كد مربوطه رو اجرا كنيد. كليد شما مثل يك فيلم فلش عمل مي‌كنه و در صورت كليك شدن دستورات موردنظرتون رو اجرا مي‌كنه
 

ameir-hg

Active Member
سلام مجدد. آقا من هنوز در مورد سوال اول جوابم رو نگرفتم ، امتحان کردم اما درست نشد!
یه سوال دیگه هم دارم: قبل از اینکه این سوال رو بپرسم هم تو سایت مجید آنلاین و هم با گوگل سرچ کردم اما نتیجه نگرفتم . اما سوال:
من می خوام چند تا آهنگ داخل پروژم داشته باشم(2تا آهنگ) و بعد از اینکه اولی تموم شد دومی شروع بشه و وقتی که پروژم لود می خواد بشه آهنگی که پخش میشه به صورت تصادفی باشه.
لطفاً راهنمایی کنید.
 

msnv

Well-Known Member
سلام علیکم
نمونه زیر را مشاهده کنین
در این مثال با گشوده شدن صفحه یکی از موزیک های از قبل تعریف شده موجود در یک آرایه بصورت random انتخاب و شروع به پخش میکند و همزمان با اتمام آن موزیک بعدی بصورت خودکار play میشود، همچنین با گشودن صفحات بعدی و بازگشت مجددا به صفحه اول موزیک اجرا شده بدون replay شدن همچنان به پخش خود ادامه میدهد

موفق باشید
یاعلی
 

پیوست ها

  • Play_music_in_the_frst_pg.JPG
    Play_music_in_the_frst_pg.JPG
    16.5 کیلوبایت · بازدیدها: 28
  • Play_music_in_the_frst_pg.rar
    1.4 کیلوبایت · بازدیدها: 85
آخرین ویرایش:

ameir-hg

Active Member
msnv عزیز دستت درد نکنه. اما چند تا مشکل: (ببخشید این همه سوال می پرسم، شرمنده)
1- دکمه ی روشن/خاموش شونده که آموزش داه بودی در این پروژه استفاده کردم و در قسمت اسکریپت ویزارد صفحه ی اول 2 تا تایمر دارم. یکی برای دکمه ی روشن/خاموش شونده و دومی برای پخش موزیک (همین پروژه ایی که در پست 11 زحمت کشیدید و ارائه کردید) و حالا وقتی پروژه رو ران میکنم تا روی یه دکمه کلیک نکنم دکمه ی روشن/خاموش شونده کار نمی کنه ، قبلاً خوب کار میکرد، الان تایمرها تداخل دارن!

2- نمی تونم بعضی از کدهاتون رو ببینم !!! ( نسخهmultimedia_Builder_4.9.8.13 رو دارم) چرا این پروژه ی جدید که دادید انگار قفل شدست و وقتی به طور مثال روی اسکریپت کلیک می کنم تا کدش رو ببینم هیچ اتفاقی نمیوفته(انگار که اصلاً کلیک نکردم) و در قسمت سمت راست مالتی مدیا بیلدر هیج آبجکتی نشون نمیده در صورتی که تمام اشیاایی که قرار دادید رو میبینم !
راستش من 2تا مثال خوشکل از هلپ مالتی مدیا بیلدر در مورد پخش موزیک دیده بودم که سیک بار هم داشت و میشد آهنگ رو عقب جلو برد اما فهمیدنش مشکل بود ، خواستم اشیایی که در اون سورس بود رو کپی کنم داخل پروژم اما نشد، چه جوری میشه این کارو انجام داد( =کپی از یه سورس داخل پروژه ی خودمون)؟
 

msnv

Well-Known Member
سلام علیکم
msnv عزیز دستت درد نکنه. اما چند تا مشکل: (ببخشید این همه سوال می پرسم، شرمنده)
1- دکمه ی روشن/خاموش شونده که آموزش داه بودی در این پروژه استفاده کردم و در قسمت اسکریپت ویزارد صفحه ی اول 2 تا تایمر دارم. یکی برای دکمه ی روشن/خاموش شونده و دومی برای پخش موزیک (همین پروژه ایی که در پست 11 زحمت کشیدید و ارائه کردید) و حالا وقتی پروژه رو ران میکنم تا روی یه دکمه کلیک نکنم دکمه ی روشن/خاموش شونده کار نمی کنه ، قبلاً خوب کار میکرد، الان تایمرها تداخل دارن!
اگر از چندتا تایمر مختلف در برنامه استفاده میکنین باید برای جلوگیری از تداخل انها با هم از TimerA,TimerB,TimerC و نظیر اینها و یا از Timer1,Timer2,...,Timer1000 قبل از نام آنها در Scripttimer استفاده کنین، و علت تداخل تایمر ها هم جدا نکردن تایمرها از هم بود که سورس پست 11 را مجددا ویرایش کردم و براتون گذاشتمش

2- نمی تونم بعضی از کدهاتون رو ببینم !!! ( نسخهmultimedia_Builder_4.9.8.13 رو دارم) چرا این پروژه ی جدید که دادید انگار قفل شدست و وقتی به طور مثال روی اسکریپت کلیک می کنم تا کدش رو ببینم هیچ اتفاقی نمیوفته(انگار که اصلاً کلیک نکردم) و در قسمت سمت راست مالتی مدیا بیلدر هیج آبجکتی نشون نمیده در صورتی که تمام اشیاایی که قرار دادید رو میبینم !
راستش من 2تا مثال خوشکل از هلپ مالتی مدیا بیلدر در مورد پخش موزیک دیده بودم که سیک بار هم داشت و میشد آهنگ رو عقب جلو برد اما فهمیدنش مشکل بود ، خواستم اشیایی که در اون سورس بود رو کپی کنم داخل پروژم اما نشد، چه جوری میشه این کارو انجام داد( =کپی از یه سورس داخل پروژه ی خودمون)؟
mmb دارای سه تا صفحه در سه مکان مختلف است (بجهت به اشتراک گذاری اشیاء) یکی همین صفحه معمولی که وقتی به mmb وارد میشویم و با آن مواجه میشویم و طراحی های روزانه را در آن اعمال میکنیم و اصولا هر شی ای که در این صفحه قرار گیرد تنها در همان صفحه قابل مشاهده است به عبارتی با رفتن به صفحه دیگر و تا برگشتن مجدد ما به همان صفحه به اشیاء موجود در آن صفحه دسترسی نخواهیم داشت که به اختصار در زیر معرفی میکنم:
MasterPage وMasterLayer: هر دو صفحه ای هستند که هر شی ای که در آنها قرار گیرد در همه صفحات پروژه قابل مشاهده هستند (نمونه اش همان سورسی هست که در پست 11 آپلود کردم) اما یک تفاوتی این دو با هم دارند، در MasterPage هر شی قرار گرفته شده همیشه در پشت همه سایر اشیاء موجود (Back) در صفحه معمولی قرار دارد بگونه ای که در یک صفحه معمولی هرشی ای را ایجاد کنید بر روی اشیاء موجود در MasterPage قرار خواهند گرفت اما MasterLayer عکس MasterPage است یعنی همه اشیاء موجود در آن جلوتر (Front) از سایر اشیاءموجود در صفحه قرار خواهند گرفت
برای دسترسی به هر شی موجود در این دوصفحه باید نام این دوصفحه را قبل از نام شی مورد نظر نوشته سپس بعد از آن دو نقل قول سپس نام شی را قرار دهید، مثلا برای مخفی کردن دکمه ای با نام TextBTN موجود در MasterPage دستور را بصورت زیر بنویسید:
Show("MasterPage::TextBTN")
جهت ارجاع دستور به MasterLayer نیز کلمه "MasterLayer::" را قبل از نام شی قرار دهید
برای درک بهتر سورس موجود در پست 11 را بررسی کنین

برای گشودن و دسترسی به کدهای موجود در سورس پست 11 بر روی اختیار MasterPage بر طبق تصویر زیر عمل کنید

موفق باشید
یاعلی مدد
 

پیوست ها

  • MasterPage+TopLayer.JPG
    MasterPage+TopLayer.JPG
    78.3 کیلوبایت · بازدیدها: 19

ameir-hg

Active Member
آقا مشکل تداخل تایمرها حل شد اما بازهم یه سری مشکل دیگه وجود داره، انگار این مشکلات تمومی نداره!!!!!!!!

1-من بعد از پست 13 ، سریع پروژه رو اصلاح و دیستربیوت کردم و برای اینکه ببینم هر بار یه آهنگ پخش میشه شاید بیش از 10 بار پروژه رو اجرا کردم و بستم و دیدم بعضی وقت ها تا 3بار متوالی هیچ آهنگی پخش نمیشه! مگه تابع رندم نباید از بین آهنگهایی که بهش دادیم یکی رو انتخاب کنه؟ چرا سکوت رو انتخاب میکنه؟

2- من 2تا آهنگ در پروژ دارم. یه پوشه بنام مدیا گذاشتم که داخلش 2 تا چیز وجود داره ،1- یه پوشه بنام بکجی که آهنگ های بک گراند داخلش وجود داره ، 2- یه آنگ تیک برای وقتی که موس روی دکمه ها میره ، صدای تیک پخش شه. حالا وقتی که موس میره رو دکمه و صدای تیک پخش میشه آهنگ بک گراند قطع ممیشه و دیگه هیچ چیز پخش نمیشه!

3-
کد:
cur_scr$='Master Page::' + CurrentObject()
کد:
Refresh("")
دو دستور فوق در اسکریپتی که نوشتید به چه معناست؟ آخه من با اجازتون اون قسمتهایی از اسکریپت که تکست باکس داشتن رو حذف کردم و اینها رو باقی گذاشتم



کد:
cur_mus_tim=CBK_TimeSec
tot_mus_tim=CBK_TotalSec
If (cur_mus_tim=tot_mus_tim) Then
  Pause("1000")
  cur_mus_num=cur_mus_num+1
  FileExist("mus$[cur_mus_num]","result")
  If (result=0) Then
    cur_mus_num=1
    **Message("Not found...","mus$[cur_mus_num]")
  End
  PlaySound("mus$[cur_mus_num]")
  Refresh("")
  Pause("1000")
End
cur_scr$='Master Page::' + CurrentObject()
ScriptTimer("Timer2=cur_scr$","50
")


:cry::cry::cry::cry:
 

evil_gates

اين نيز بگذرد ...
آقا مشکل تداخل تایمرها حل شد اما بازهم یه سری مشکل دیگه وجود داره، انگار این مشکلات تمومی نداره!!!!!!!!

1-من بعد از پست 13 ، سریع پروژه رو اصلاح و دیستربیوت کردم و برای اینکه ببینم هر بار یه آهنگ پخش میشه شاید بیش از 10 بار پروژه رو اجرا کردم و بستم و دیدم بعضی وقت ها تا 3بار متوالی هیچ آهنگی پخش نمیشه! مگه تابع رندم نباید از بین آهنگهایی که بهش دادیم یکی رو انتخاب کنه؟ چرا سکوت رو انتخاب میکنه؟

2- من 2تا آهنگ در پروژ دارم. یه پوشه بنام مدیا گذاشتم که داخلش 2 تا چیز وجود داره ،1- یه پوشه بنام بکجی که آهنگ های بک گراند داخلش وجود داره ، 2- یه آنگ تیک برای وقتی که موس روی دکمه ها میره ، صدای تیک پخش شه. حالا وقتی که موس میره رو دکمه و صدای تیک پخش میشه آهنگ بک گراند قطع ممیشه و دیگه هیچ چیز پخش نمیشه!

3-
کد:
cur_scr$='Master Page::' + CurrentObject()
کد:
Refresh("")
دو دستور فوق در اسکریپتی که نوشتید به چه معناست؟ آخه من با اجازتون اون قسمتهایی از اسکریپت که تکست باکس داشتن رو حذف کردم و اینها رو باقی گذاشتم



کد:
cur_mus_tim=CBK_TimeSec
tot_mus_tim=CBK_TotalSec
If (cur_mus_tim=tot_mus_tim) Then
  Pause("1000")
  cur_mus_num=cur_mus_num+1
  FileExist("mus$[cur_mus_num]","result")
  If (result=0) Then
    cur_mus_num=1
    **Message("Not found...","mus$[cur_mus_num]")
  End
  PlaySound("mus$[cur_mus_num]")
  Refresh("")
  Pause("1000")
End
cur_scr$='Master Page::' + CurrentObject()
ScriptTimer("Timer2=cur_scr$","50
")


:cry::cry::cry::cry:

با اجازه جناب msnv

دوست عزيز
براي سوال اولتون احتمالا تو عددي كه به صورت تصادفي انتخاب ميشه مقدار 0 بر ميگرده و شايد چون فايلي براي مقدار 0 در نظر نگرفتيد باعث ميشه چيزي پخش نشه

براي اينكه به اين مشكل نخوريد و مقدار 0 تو چرخه تصادفي انتخاب نشه مثل اين كد عمل كنيد:

کد:
x = RND(9) + 1
دراينجا حداكثر مقدار موردنظر من 10 خواهد بود و چون هر مقداري كه بدست بياد با عدد 1 جمع بسته ميشه پس حد بالاي تابع RND رو مقدار 9 تعيين كردم

در مورد سوال دوم پيشنهاد ميكنم فرمت فايلهاي صوتي كه بعنوان آهنگ پشت زمينه پخش ميشن رو با فرمت فايلهاي صوتي كه فقط روي كليدها ميشنن و صداي كليك رو پخش ميكنن متفاوت انتخاب كنيد. مثلا براي فايلهاي موسيقي پشت زمينه فرمت ogg و براي صداي كليك ها فرمت wav رو استفاده كنيد.
همينطور آهنگ صوتي پشت زمينه خودتون رو هم با دستور AudioOpen و AudioPlay اجرا و پخش كنيد

در مورد سوال سومتون هم تابع CurrentObject() نام آبجكت جاري در Master Page رو تو متغير رشته‌اي ميريزه

و دستور Refresh هم باعث تازه سازي برنامه ميشه. از اين دستور معمولا تو حلقه هايي كه تغييرات بصري در برنامه ايجاد ميكنند استفاده ميشه
 

ameir-hg

Active Member
evil_gates عزیز ممنون، اما حل نشد، من 2تا آهنگ داشتم دستور زیر رو نوشتم اما حل نشد

کد:
cur_mus_num=RND(2) + 1
تازه، وقتی که یه آهنگ تموم میشه بعدی شروع نمیشه، یه جای کار میلنگه. من چندین بار کدها رو بررسی کردم اما نتونستم مشکل رو حل کنم. یه mp3 پلیر با تایم لاین برای نمایش پخش موزیک جاری هم برای پروژم درست کردم چندین تا مشکل پیش اومد که همه رو حل کردم اما این رو نمی تونم!
این دومین پروژه ی من با مالتی مدیا بیلدر ، اولی رو تقریباً یه سال پیش درست کرده بودم و خیلی ساده بود این دومیشه ، لطفاً اساتید محترم که بلدن راهنمایی کنند.:sad:

ممنون :rose:
 
آخرین ویرایش:

msnv

Well-Known Member
تازه، وقتی که یه آهنگ تموم میشه بعدی شروع نمیشه، یه جای کار میلنگه

سلام در صورت امکان یک نمونه سورس از مشکلتون قرار بدین تا بهتر مشکلتون بررسی شود و در غیر اینصورت کدی که احتمال وجود مشکل را در آن میدهید
چون تا کدها بررسی نشود نمیتوان نظری داد

موفق باشید
یاعلی
 

ameir-hg

Active Member
msnv عزیز من االان 2تا مشکل دارم :
1- در قسمت پخش آهنگ مشکل دارم و قسمت پخش آهنگ شروع پروژم همون کدهایی که شما در پست 11 ارسال کردید
یعنی Play_music_in_the_frst_pg.rar (1.4 . با این تفاوت که شما آهنگ ویندوز رو قرار داده بودید و من آدرس آهنگها رو عوض کردم و آهنگ های انتخابی خودم رو قرار دادم و یه سری تغییرات جزیی دیگه مثل پست 16. این تابع rnd درست عمل نمیکنه و وقتی آهنگ جاری تموم میشه بعدی پخش نمیشه! پروژه ی شما Play_music_in_the_frst_pg.rar (1.4 رو تست کردم ، درست کار میکنه و بعد از تموم شدن یه آهنگ آهنگ بعدی پخش میشه اما پروژه ی من نه ، نمی دونم چرا؟
2-اگه ممکنه به جای آهنگ های ویندوز آدرس آهنگ های دیگه ای رو قرار بدید ( آهنگ هایی که داخل یه پوشه در کنار فایل exe تولیدی قرار داده شده اند ) و دیستربیوتش کنید و 12 یا 14 بار رو فایل exe که درست میشه کلیک کنید ، خواهید دید بعضی وقتها هیچ چیز پخش نمیکنه،چرا؟
این پروژه ایی که من دارم درست می کنم راستش دلیه و شرکتی و پولی نیست و دارم شخصی واسه خودم و همچنین برای یادگیری درست میکنم اگه واقعاً نمیشه از روی حرفهام راهنمایی کرد ظاهرش رو تغییر میدم و امشب ساعت 12 اتچ میکنم.

ممنون:rose:
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگر نام اسکریپت رو برابر CBK_AudioEOF قرار بدید، بعد از اتمام آهنگ، بلافاصله کدهای درون این شئ اجرا میشه (در نسخه های قبلی نام این ثابت CBK_MP3EOF بود) در مثال MMBAMP که در بین مثالهای MMB وجود داره (شبیه برنامه ی WinAMP هست) از این روش استفاده شده.
 

ameir-hg

Active Member
این هم پروژه ی من.
لطفاً اگه میشه راهنمایی کنید.
یه مشکل دیگه : چه جوری میشه کاری کرد وقتی روی دکمه های >| و |< که اسکریپتهاشون رو غیر فعال کردم کلیک کنیم آهنگ بعدی و یا قبلی پخش شه.(من چند تا مثال دیدم اما پیشرفته بودن سر در نیاوردم!)
 

پیوست ها

  • Majid online.rar
    2.8 مگایابت · بازدیدها: 114
آخرین ویرایش:

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

بالا