کمک - در مورد ساخت player list

P30Yaran

Member
سلام
من مبتدی هستم
گرافیک سایت رو طراحی کردم !
می خوام یک کادری باشه ! که داخلش مثل مطالب زیر باشه که روی هر کدوم که کلیک کرد - فیلم مربوطه پخش بشه ! میشه گفت دقیقا مثل پلیر لیست مدیا پلیر ! که رو هر کدوم که کلیک می کنی فیلم مربوطه رو پخش می کنه
ممنون میشم راهنمایی کنید!

100.jpg
 

MahmoodM30

مدیر <A href="http://forum.majidonline.com/forums/
اينجا انجمن مربوط به مولتيمديابيلدر هست دوست عزيز ، نه طراحي سايت

يا اگه ميخوايين اين قسمت رو با مولتيمديابيلدر بسازيد

بهتره انجمن رو سرچ كنيد چون قبلا همچين مطالبي توي انجمن قرار داده شده
 
آخرین ویرایش:

P30Yaran

Member
ممنون از پاسختون - اما

اينجا انجمن مربوط به مولتيمديابيلدر هست دوست عزيز ، نه طراحي سايت

يا اگه ميخوايين اين قسمت رو با مولتيمديابيلدر بسازيد

بهتره انجمن رو سرچ كنيد چون قبلا همچين مطالبي توي انجمن قرار داده شده

سلام
بله می خوام همین قسمت رو با MMB درست کنم!
خیلی تو انجمن جستجو کردم - همه برای MP3 Player هست !
و همه هم اینطور عمل می کنه که روی open کلیک کی کنه و بعد فایل رو باز می کنه و بعد اجرا میشه
اما من می خوام لیست از پیش تعریف شده باشه و رو هرکدوم که کلیک کرد فیلم مربوط به اون پخش بشه!
ممنون میشم راهنمایی کنید یا حداقل لینکی رو که میشناسید رو بزارید
بازم ممنون دوست عزیز
 

reza zareie

Active Member
خوب اتفاقا اين كار كه خيلي راحته شما ميتونيد آيتم ها تون را به ليست باكس اضافه كنيد بعد ميتونين تعريف كنين كه اگه روي هركدوم
كليك شد چه فيلمي نشون داده بشه و آدرس اون مسير رو بدين . اگه متوجه نشدين بگين تا يه نمونه واستون بذاريم
 

P30Yaran

Member
من تازه واردم 2-3 روز میشه شروع کردم !
نمی دونم باید چطوری این کار رو انجام بدم
ممنون میشم اگه یه نمونه رو برام بزاید
بازم ممنون
 

reza zareie

Active Member
من يه نمونه ساده واستون آماده كدم كه خودتون با كمي ابتكار ميتونيد تغييراتي ديگه توش ايجاد كنيد.
نكته اي كه بايد در مورد مثال بگم اينه كه شما بايد دوبار رو ليست باكس كليك كنيد و تو قسمت اكشن به جاي متن
"مسير شما " مسير فايل ويدئي تون رو بنويسيد بعد با دابل كليك اون فايل ويديويي باز مي شه

:rose:
 

پیوست ها

  • VideoSample.zip
    222.7 کیلوبایت · بازدیدها: 213

P30Yaran

Member
ممنون دوست عزیز
من هنوز فایلتون رو باز نکردم !
اما چیزی که هست ما توی سی شارپ اینطوری کار می کردیم!
1- یه متغیر تعریف می کردیم که کل لیست رو بشماره بعد اگه شمارش یکی بود دستور مربوطه رو اجرا می کرد
اما من خیلی با اسکریپتهای مالتی مدیا بیلدر ور رفتم اما چیزی متوجه نشدم
یه کتاب هم از اینترنت گرفتم بازم متوجه نشدم
ممنون میشم در مورد کد نویسیش بیشتر توضیح بدید یا اینکه یه لینک آموزشی رو بزارید!
در کل بازم ممنون بابت زحماتی که کشیدید
فایل رو نگاه کردم خبرتون می کنم!(البته هرچی شما مهندسین مالتی مدیا بیلدر درست کنید حرف نداره)
بازم ممنون
 

P30Yaran

Member
برنامه رو دیدم
خیلی عالی بود !
من دستورات رو که توی listbox نوشته بودید رو در قسمت select گذاشتم و الان رو هر کدوم که انتخاب می کنم شروع به پخش می کنه!
فقط یه مشکل دیگه هست!
وقتی لود می کنه سایز فیلم (resolation) تغییر میکنه!
بازم ممنون
 

P30Yaran

Member
برای تغییر سایز !
در کد نویسی لیست باکس این تغییرات رو اعمال کنید
کد:
[LEFT]If (numitem$='1') Then
    reza$='D:\reza.avi'
    VideoLoad("Video","reza$")
    VideoPlay("Video")
  End
[/LEFT]
این برای کلیک بر روی اولین نوشته در لیست هست
باید به کد زیر تغییر بدید
کد:
If (numitem$='1') Then
    reza$='D:\reza.avi'
    VideoLoad("Video","reza$")
    VideoPlay("Video")
    VideoScale("Video","300,200")
  End

یعنی در کل فقط کد
کد:
VideoScale("Video","300,200")
رو به کدهای listbox اضافه کنید
با تشکر از دوستان
 
آخرین ویرایش:

loo30fer

کاربر متخصص مولتی مدیا بیلدر
اما چیزی که هست ما توی سی شارپ اینطوری کار می کردیم!
1- یه متغیر تعریف می کردیم که کل لیست رو بشماره بعد اگه شمارش یکی بود دستور مربوطه رو اجرا می کرد
اما من خیلی با اسکریپتهای مالتی مدیا بیلدر ور رفتم اما چیزی متوجه نشدم
شما که با یک زبان برنامه نویسی کار کردین نباید کدنویسی بیلدر براتون نامفهوم باشه.
ضمنا چرا این روش رو برای پخش فیلمهاتون پیش گرفتید برای مثال اگه شما 50 آیتم داشته باشین 50 تا شرط تعریف میکنید؟
یک نمونه براتون پیوست کردم که نیازی به تعریف این همه شرطی نیست.
موفق باشید.
 

پیوست ها

  • Sample.rar
    685 بایت · بازدیدها: 67

P30Yaran

Member
شما که با یک زبان برنامه نویسی کار کردین نباید کدنویسی بیلدر براتون نامفهوم باشه.
ضمنا چرا این روش رو برای پخش فیلمهاتون پیش گرفتید برای مثال اگه شما 50 آیتم داشته باشین 50 تا شرط تعریف میکنید؟
یک نمونه براتون پیوست کردم که نیازی به تعریف این همه شرطی نیست.
موفق باشید.

سلام
ممنون دوست عزیز
تعداد کدهای نوشته شده در برنامه شما خیلی کمه و با آرایه نوشتید (فکر کنم)
اما من جاوا برام نامفهومه!
باید چطوری لینک پخش فیلم رو بهش اضافه کنم!
یعنی اگه روی نوشته اول کلیک کرد فیلم اول و اگه روی نوشته دوم کلیک کرد فیلم دوم و..... پخش بشه!
ممنون میشم در مورد کد نویسیتون هم یه توضیحی بدید
باتشکر فراوان
 

P30Yaran

Member
الان متوجه شدم !
دوبار کلیک می کنی روی نوشته بعد پنجره Open میاد!
VideoLoad("Video","path$")
دوست عزیز یه چیزی که هست اینه که من نمی خوام پنجره open بیاد!
می خوام از قبل تعریف کنم وقتی روش دوبار کلیک کرد به طور خودکار فیلم مربوط که مثلا در شاخهD:\majidonline.com\MMB.AVI
باشه رو پخش کنه و نیازی به open کردن باشه
ممنون میشم این مشکل رو هم حل کنید
با تشکر فراوان
حمید
 

loo30fer

کاربر متخصص مولتی مدیا بیلدر
باید چطوری لینک پخش فیلم رو بهش اضافه کنم!
یعنی اگه روی نوشته اول کلیک کرد فیلم اول و اگه روی نوشته دوم کلیک کرد فیلم دوم و..... پخش بشه!
ممنون میشم در مورد کد نویسیتون هم یه توضیحی بدید
برای اضافه کردن آیتم چون میخواستیم از حلقه استفاده کنیم و تو بیلدر اگه حلقه تو Page Start صفحه اول قرار بگیره و تعداد باری که حلقه باید دور بزنه زیاد باشه یا عملیات سنگینی رو انجام بده باعث ایجاد اختلال میشه یعنی فرم برنامه دیگه نمایش داده نمیشه حتی بعد از اتمام کار حلقه برای همین از یک ScriptTimer استفاده کردم که به اندازه یک میلی ثانیه وقفه ای ایجاد بشه و سپس عملیات اضافه کردن آیتم به لیست باکس انجام بشه تو اسکریپت AddItem هم که میبینید بسیار واضح هست یک حلقه ایجاد شده و تو هربار دور زدن حلقه مقدار متغیر i به رشته ای تبدیل میشه و به متغیر $items به مقدار Video چسبونده میشه و سپس به تابع ListBoxAddItem داده شده که اون مقداری که بدست میاد به لیست باکس اضافه بشه حالا میمونه پخش فیلم هنگام دابل کلیک کردن روی آیتمها پس برای اینکار توی رویداد Double Click کردن لیست باکس باید کدنوشت که همینطور که دیدین اولین آیتم انتخاب شده گرفته میشه و توی متغیر $SelItems ریخته میشه و سپس توی متغیر $path با کمک تابع مکانی <SrcDir> که عملکردش گرفته آدرس جاری برنامست و کمک تابع GetArrayItem اون مقدار از متغیر $SelItems گرفته میشه و به پسوندی که من انتخاب کردم mp4. پیوست داده میشه که در آخر آدرس فیلم رو ایجاد میکنه که برای مثال اگه برنامه شما تو درایو C باشه و آیتم Video 1 انتخاب بشه آدرسی که بدست میاد این هست:
کد:
C:\Video 1.mp4
سپس این آدرس به VideoLoad داده میشه تا اون فیلم رو قراخوانی کنه و برای جلوگیری از تغییر اندازه شی Video به اندازه اصلی فیلم از VideoScale کمک گرفته شده تا اندازه فعلی شی Video مارو حفظ کنه و در آخرم که فیلم نمایش داده میشه.
فقط چندتا نکته که شما باید توجه داشته باشین:
1- اگه توی ScriptTimer توجه کرده باشین قبل از اسم اسکریپت AddItem نوشته بودم =Timer1 این برای جلوگیری از اختلال (موجب توقف ScriptTimer دیگر میشه) در مواقعی که ما به صورت همزمان از دو یا چند ScriptTimer استفاده میکنیم که برای تامیرهای بعدی باید بدین شکل عمل بشه =Timer2 و =Timer3
البته تو نمونه ای که پیوست کردم چون از چندین Timer به صورت همزمان استفاده نشده استفاده از اون الزامی نیست میتونید حذفش کنید.
2- اگه نمیخواین در صورتی که فیلم در آدرس جاری پیدا نشد پنجره Open ویدیو باز نشه میتونید بدین شکل عمل کنید:
کد:
FileExist("path$","i")
If (i=1) Then
VideoLoad("Video","path$")
VideoScale("Video","347,291")
VideoPlay("Video")
End
برای همین هم برای شما اون صفحه نمایش داده میشد برای اینکه فیلم رو در آدرس جاری پیدا نمیکرد.
3- برای اینکه تو نمونه پیوستی فیلمهاتون نمایش داده بشه بعد از کمپایل کردن فیلمهاتون رو در کنار برنامتون قرار بدین و نامهاشون رو بدین بدین شکل تعریف کنید:
کد:
Video 1.mp4
Video 2.mp4
Video 3.mp4
Video 4.mp4
Video 5.mp4
در صورتی که نمیخواین نام فیلمهاتون بدین شکل باشه و نام های متفاوتی رو براشون در نظر بگیرین میتونید اون نام ها رو داخل آرایه بریزین و شماره آیتم انتخاب شده رو از متغیر $SelItemsNum بگیرین و طبق شماره آیتم به همون آرایه مربوطش نام یا آدرس داده شده رو بگیرین.
4- اگه فیلمهاتون رو در کنار برنامتون قرار میدین میتونید از <SrcDir> استفاده نکنید و اون رو حذفش کنید.
فکر میکنم توضیحات لازمه رو داده باشم.
موفق باشید.
 
آخرین ویرایش:

P30Yaran

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

P30Yaran

Member
سلام
ممنون خیلی عالی بود
فقط اینکه همه پسوندی رو جواب نمیده فقط پسوندهای MP4 رو قبول میکنه
من چه کار کنم که مثلا به این شکل هم باشه قبول کنه!
video 1.avi
video 2.mp4
video 3.mpg
video 4.dat
video 5.wma
, ...
ممنون میشم راهنمایی کنید
بازم ممنون بابت زحماتی که کشیدید
 
آخرین ویرایش:

loo30fer

کاربر متخصص مولتی مدیا بیلدر
فقط اینکه همه پسوندی رو جواب نمیده فقط پسوندهای MP4 رو قبول میکنه
من چه کار کنم که مثلا به این شکل هم باشه قبول کنه!
خوب پسوند mp4. رو تغییر بدین به هرپسوندی که دلتون میخواد کلا هم برای اینکه فیلم مورد نظرتون تو هر سیستمی نمایش داده بشه باید کدک های مربوطه رو تو سیستم طرف قبل از نمایش فیلم نصب کنید که بهترین مجموعه برای کدکها K-Lite Codec Pack هست.
 

P30Yaran

Member
ممنون دوست عزیز این رو می دونستم مشکل من رو درست متوجه نشدید
من می خوام همزمان چند نوع پسوند رو توی پلیر لیست نمایش بده!
من هرکاری روی پروژه ای که دوستمون برام گذاشته در همین تاپیک انجام دادم نشد!
کد:
'.avi','mpg','.dat','.wmv',.*.'
نشد
ممنون میشم راهنمایی کنید
یا کدی رو که شما نوشتید رو بزارید
بازم ممنون
 

Montaghem630

New Member
بسم الله الرحمن الرحيم
سلام

اين دو تا فايلي كه دوستان قرار دادند با چه ورژني ساخته شده؟
ميخوام بازشون كنم پيغام ميده:
"This file was made with newer MMB version "

نسخه اي كه بنده دارم ورژن 4.9.8.13 هستش

موفق باشيد
ياعلي(ع)
 

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

بالا