آموزش قدم به قدم ساخت Video SeekBar

ali guard

Member
بيهتر هست شوما اخرين ويرزن بيلدر نصب كنيد جون بيشتر نمونةهاى انجومن مالى اخرين ويرزن هست با همون خاتر نصب كنيد تا هربار اين مشكيل برات بيش نياد موافق باشيد
 
آخرین ویرایش:

evil_gates

اين نيز بگذرد ...
mmb من ورژن 4.9.8.7 است اگه امکان داره این برنامه را با این ورژن بذارید.

دوست عزيز
همونطور كه دوستان اشاره كردن بهتره ورژن برنامتون رو به 4.9.8.13 ارتقا بديد تا مشكل باز كردن فايلهاي با ورژن بالاتر رو نداشته باشيد.

ضمن اينكه دستور VideoParam كه تو اين مثال استفاده كنيد و دستور كليدي هم هست تو ورژن 4.9.8.7 پشتيباني نميشه.
 

ramiy

Member
مرسی از این آموزش جامع ولی من می خوام مثلا 5 تا نوشته داشته باشم و وقتی روی هرکدوم کلیک میشه فایل مورد نظر که قبلا آدرس دهی شده باز بشه و شروع به پخش کنه
میشه بگین باید چیکار کنم و چه تغییراتی انجام بدم ؟
مرسی
 

evil_gates

اين نيز بگذرد ...
مرسی از این آموزش جامع ولی من می خوام مثلا 5 تا نوشته داشته باشم و وقتی روی هرکدوم کلیک میشه فایل مورد نظر که قبلا آدرس دهی شده باز بشه و شروع به پخش کنه
میشه بگین باید چیکار کنم و چه تغییراتی انجام بدم ؟
مرسی

دوست عزيز
بر اساس مثالي كه گذاشتم شما بايد قسمتي از كدهاي مربوط به كليد OpenVideo رو ويرايش كنيد.

تعدادي كليد بسازيد و كدي كه براي براي OpenVideo نوشتم رو براي اونها قرار بديد فقط دستور OpenFile رو از خط اول حذف كنيد و آدرس فايل ويدئويي موردنظر رو به متغير $path نسبت بديد

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

evil_gates

اين نيز بگذرد ...
يعني آموزشي كه قرار دادم اينقدر روان و ساده نبوده كه بتونه مشكلتون رو حل كنه و اين سوال پيش نياد؟ :-?:sad:
 

Amir storm

Well-Known Member
هر كليدي كه تو برنامه قرار ميگيره و ميتونه تاثيري بر عمليات seekbar داشته باشه رو بايد با دقت مطالعه كنيم و بگيم مقدار اين تاثيرات چقدر خواهد بود و چطور ميتونيم با كمك اين كليدها seekbar رو هم كنترل كنيم.

كليد Play كه در برنامه قرار داره وظيفش پخش مجدد فيلم در صورتي كه فيلم به هر دليل متوقف شده باشه هست. پس به شكلي ميتونه رو فرايند seekbar هم تاثير گذار باشه.

كليد Pause فيلم رو به طور موقت متوقف ميكنه پس اگه اين كليد فشرده بشه بايد دستورات auto_move كه seekbar رو به طور خودكار تكميل ميكرد متوقف بشه.

يا كليد Stop كه فيلم رو طور كامل متوقف ميكنه كه اگه اين كليد فشرده بشه بايد همه چيز به وضعيت اول برگرده.

يا حتي خود فيلم وقتي به انتها رسيد چه اتفاقي بيفته و چه تاثيري تو seekbar داره؟

من تو كليد Play اين دستورات رو نوشتم:
کد:
[COLOR=Blue]If [/COLOR](path$<>[COLOR=DarkRed]''[/COLOR]) [COLOR=Blue]Then[/COLOR]
  [COLOR=Blue]If [/COLOR](status$<>[COLOR=DarkRed]'Play'[/COLOR]) [COLOR=Blue]Then[/COLOR]
    status$=[COLOR=DarkRed]'Play'[/COLOR]
    [B][COLOR=Navy]DisplayValue[/COLOR][/B]("status","status$")
    [B][COLOR=Navy]ScriptTimer[/COLOR][/B]("TimerA=auto_move","0")
    [B][COLOR=Navy]Show[/COLOR][/B]("Video")
    [B][COLOR=Navy]VideoPlay[/COLOR][/B]("Video")
  [COLOR=Blue]End[/COLOR]
[COLOR=Blue]End[/COLOR]
دستورات اين كليد فقط بايد زماني كه فيلمي انتخاب شده باشه و به هر دليلي متوقف شده باشه اجرا بشه.

بنابراين من اول با يك شرط چك ميكنم كه آيا اصلا فيلمي انتخاب شده براي پخش يا نه؟ در صورتي كه مقدار متغير $path كه همون مسير فايل انتخاب شده ما بود تهي باشه يعني اصلا فيلمي براي پخش انتخاب نشده. پس دستورات داخل شرط اجرا نميشه.

اما اگه اين متغير مخالف تهي باشه پس يعني فيلمي انتخاب شده و حالا نوبت بررسي وضعيت پخش فيلم هست.

اگه فيلم ما در حال پخش باشه دليلي نداره كه دستورات اين كليد اجرا بشه. چون فيلمي كه در حال پخش هست رو كه مجددا پخش نميكنيم.

اگه فيلم به هر دليلي متوقف شده باشه بايد با اين كليد مجددا اون رو پخش كنيم. پس با يك شرط ديگه وضعيت متغير $status رو بررسي ميكنم.

اگه مقدار اين متغير مساوي عبارت Play باشه يعني فيلم در حال پخش هست اما اگه مقدار اين متغير مخالف Play باشه يعني فيلم ما متوقف شده پس دستورات داخل شرط اجرا ميشن.

تو خط اول دستورات داخل شرط من مقدار متغير $status رو مساوي عبارت Play قرار ميدم و اون رو با دستور DisplayValue تو شي متني status نمايش ميدم.

با دستور ScriptTimer اسكريپت auto_move رو كه براي كنترل خودكار seekbar رو اجرا ميكنم و تو خطوط بعدي با دستور Show فايل ويدئويي رو نمايش و با VideoPlay اون رو پخش ميكنم.



كليد Pause براي توقف لحظه اي فيلم در حال پخش استفاده ميشه. دستورات اين كليد شامل:
کد:
status$=[COLOR=DarkRed]'Pause'[/COLOR]
[B][COLOR=Navy]DisplayValue[/COLOR][/B]("status","status$")
[B][COLOR=Navy]VideoPause[/COLOR][/B]("Video")
ابتدا مقدار متغير $status رو نشان دهنده وضعيت فيلم هست رو مساوي عبارت Pause قرار ميدم. و با دستور DisplayValue اين مقدار رو تو شي متني status نمايش ميدم.

بعد با دستور VideoPause فيلم رو متوقف ميكنم.

حتما متوجه شديد كه دليل استفاده از شرط 'staus$='Play تو اسكريپت auto_move براي همين بود كه اگه مقدار اين عبارت مخالف Play هست يعني فيلم متوقف شده و ديگه نبايد دستورات اون اسكريپت اجرا بشه.



كليد Stop براي توقف كامل فيلم در حال پخش و بازگرداندن فيلم به نقطه اول استفاده ميشه. دستورات اين كليد شامل:
کد:
status$=[COLOR=DarkRed]''[/COLOR]
[B][COLOR=Navy]DisplayValue[/COLOR][/B]("status","status$")
[B][COLOR=Navy]MoveObject[/COLOR][/B]("obj$","objX,objY,1,objH")
time$=[COLOR=DarkRed]'00:00:00'[/COLOR]
[B][COLOR=Navy]DisplayValue[/COLOR][/B]("[COLOR=Blue]CBK_VTime[/COLOR]","time$")
[B][COLOR=Navy]VideoStop[/COLOR][/B]("Video")
[B][COLOR=Navy]Hide[/COLOR][/B]("Video")
تو خط اول چون فيلم به طور كامل متوقف شده مقدار متغير $status رو مساوي تهي قرار ميدم و با دستور DisplayValue مقدار اين متغير رو تو شي متني status نمايش ميدم.

چون فيلم بايد به نقطه اول خودش برگرده پس seekbar هم بايد به نقطه ابتدايي برگرده تا تو شروع مجدد از همون نقطه شروع به پخش بشه. پس با دستور MoveObject نوار seekbar رو به نقطه آغاز بر ميگردونم.

ما يك شي متني به نام CBK_VTime داشتيم كه زمان جاري فيلم رو نمايش ميداد. وقتي فيلم به طور كامل متوقف ميشه مقدار اين شي هم بايد صفر بشه بنابراين با يك متغير رشته‌اي به نام $time عبارت 00:00:00 در نظر ميگيرم و با دستور DisplayValue مقدار متغير رو تو شي متني نمايش ميدم.

در نهايت با VideoStop فيلم رو متوقف و با دستور Hide شي ويدئو رو مخفي ميكنم.

وقتي فيلم به انتها ميرسه هم دقيقا بايد همين اتفاقات بيفته يعني فيلم متوقف بشه و به نقطه اول خودش برگرده پس همه دستوراتي كه براي كليد Stop نوشتم رو كپي ميكنم و تو شي ويدئو تو بخش RunScript و تو قسمت OnFinish تكرار ميكنم.



حالا من يك Video Seekbar كامل دارم و ميتونم از اون براي هر نوع برنامه پخش كننده‌اي استفاده كنم.

براي ساخت seekbar روشهاي ديگه اي هم وجود داره كه بنا به دلايلي كه تو پست اول گفتم من اين روش رو انتخاب و راهنماييتون كردم كه چطور يك seekbar بسازيد.

اين seekbar ي كه ساختيم ميتونه ابعاد و محل قرارگيريش متناسب با ميل خودتون تغيير كنه. ميتونيد كليدهاي ديگه اي رو به اين برنامه اضافه كنيد اما باز هم تاكيد ميكنم قبل از اضافه كردن يك كليد يا يك دستور به برنامه به تاثيراتي كه روي seekbar ميزاره دقت كنيد و اون رو تو برنامه لحاظ كنيد.

در پايان اميدوارم اين آموزش مفيد بوده باشه و اگه كاستي تو فرايند اين آموزش مشاهده شد دوستان به بزرگواري خودشون و كم سوادي بنده ببخشن.

موفق باشيد.
:rose:
ببخشید یه چیزی جا موند
seekbar برای موزیک پلایر
 

sirooss

New Member
باسلام و تشکر از جوابی که به سوالم دادید
راستش من خیلی بازبان برنامه نویسی بیلدر یا همون اسکریپت نویسی آشنا نیستم و اکه مجدد راهنمایی کنید بابت اینکه من بتونم Vseekbar طراحی کنم که علاوه بر ( اون نوار ساده که دارای رنگ مشخص است وزمان سپری نشده را نشان میدهد واون نوار بارنگ دیگه که موقع پخش فیلم
زمان سپری شده رو نشون میده ورفته رفته جای نوار قبلی روپر میکنه) اون گیره کوچک رو هم داشته باشه وبا کمک اون بشه زمان فیلم رو جا به جا
کرد ممنون میشم
واگه من بخوام یه سری کد به اون شکلی که میخوام در یه پلیر آموزشی برام بنویسید و هزینه اون رو پرداخت کنم برام زحمتش می کشید
[email protected]
 

m javad

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

sirooss

New Member
با سلام مجدد
حدودا چند هفته قبل مشکلی رو درمورد بیلدر سوال کردم که هنوز جوابشو نگرفتم سوالم این بود که کدی رو برای audio slider که شکلی مشابه VSeekbar داره با این تفاوت که صدا رو با درک کردن میشه کم وزیاد کرد می خواستم که با کم وزیاد کردن اون صدای کل ویندوز کم نشه وفقط صدا از داخل پروژه کم وزیاد شه متشکرم
[email protected]
 

m javad

کاربر متخصص
حدودا چند هفته قبل مشکلی رو درمورد بیلدر سوال کردم که هنوز جوابشو نگرفتم سوالم این بود که کدی رو برای audio slider که شکلی مشابه vseekbar داره با این تفاوت که صدا رو با درک کردن میشه کم وزیاد کرد می خواستم که با کم وزیاد کردن اون صدای کل ویندوز کم نشه وفقط صدا از داخل پروژه کم وزیاد شه متشکرم
برای کنترل صدای داخلی پروژتون باید از پلاگین استفاده بکنید
 

sirooss

New Member
با سلام مجدد
برای کنترل صدای داخلی پروژه جواب دادید که باید از پلاگین استفاده کنم اما اشاره به چه پلاگین واینکه ازکجا به دستش بیارم نکردید
لطفا بیشتر راهنماییم کنید
[email protected]
 

m javad

کاربر متخصص
بهترین پلاگین برای کار شما MmbvolPlugIn هست
 

پیوست ها

  • MmbvolPlugIn.zip
    69.7 کیلوبایت · بازدیدها: 87

sirooss

New Member
این فایل پلاگین رو نمیشه دانلود کرد چون با کلیک اون مجددا وارد صفحه وارد کردن یوزر و پسورد میشم وهرچند بار که وارد میکنم باز همون صفحه نشون داده میشه درضمن من اکه بخوام یکی به طور حرفه ای mmb رو به من آموزش بده باید چی کار کنم
مرسی [email protected]
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
برای اینکه بخوایین MMB رو به طور حرفه ای یاد بگیرین نیازی نیست کسی بهتون اموزش بده این انجمن خودش برا همین هست هم نمونه مثال هست همم کلی اموزش در این رابطه که از جمله اونها میتونیم به آموزش حرفه ای MMB که حامد جان زحمتشو کشیدن اشاره کنیم

به این تاپیک مراجعه کنید کلی مطالب در این رابطه میتونید پیدا کنید http://forum.majidonline.com/showthread.php?t=120688

به نظر من اون کتاب آموزشی رو مطالعه کنید میتونید MMB رو خوب یاد بگیرید

اینم لینک تاپیکش http://forum.majidonline.com/showthread.php?t=123477
 

sirooss

New Member
باسلام
اول اینکه باید تشکر ویژه ای ازشما داشته باشم بابت کتابی که معرفی کردید باید بگم خیلی عالی بود و متشکر
واما خواهش دیگه ای بابت مشکل کم وزیاد شدن صدا در ویندوز XP وقتی که صدای کامپیوتر رو از طریق اسلایدری که با بیلدر ساختیم کم وزیاد می کنیم
شما زحمت کشیدید و پلاگینی برای رفع این مشکل گذاشتید که من نتونستم با اون مشکل روحل کنم البته نه اینکه پلاگین شما مشکل داشته باشه راستش من نتونستم کاری باهاش انجام بدم وحالا خواهشم این بود که داخل یه پروژه ساده بیلدر شما این کار رو انجام می دادید ودرسایت قرار می دادید تا همه بازدید کنندگان بتونن استفاده کنند
باتشکر [email protected]
 

m javad

کاربر متخصص
البته نه اینکه پلاگین شما مشکل داشته باشه
اون پلاگین کار من نیست - by xAx Company
من که توی اون نمونه ارسالی فایل بیلدرش رو هم براتون قرار داده بودم!!!!!!
اگر منظورتون همراه با seekbar هست بگید تا نمونه رو براتون بسازم
بهتره مشخص بکنید عمودی نیاز دارید یا افقی و طول اون رو هم مشخص بکنید بهتره
موفق باشید
 

sirooss

New Member
باتشکرازشما
من پروژه بیلدری رو میخوام که توش یه audio seekbar افقی داشته باشه وپلاگین مربوط یا هرچیز دیگه ای که بتونه مانع از این بشه که صدای کل سیستم در XP تغییرکنه توش به کار رفته باشه ودیگه این مشکل رو نداشته باشیم واما طولش اندازه Audioseekbar به کار رفته
در windows media player باشه اصلا اگه دقیقا شکل همون باشه یعنی اون گیره کوچیکی که بشه با اون صدارو کم وزیاد کرد هم باشه که عالی میشه
متشکر
 

sirooss

New Member
سلام دوباره
کماکان منتظر خواسته ای که بالا مطرح کردم هستم ومنتظرم
متشکر میشم هر چه زودتر زحمت این کاررو بکشید
[email protected]
 

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

بالا