Fa پخش فیلم از هر جای دلخواه

skyblu

Member
در یک صفحه یک فیلم گذاشتم حالا می خواهم یک ریلی بگذارم که با کلیک روی این ریل و حرکت آن ، فیلم از هر جایی که خواستیم ، پخش شود چه کار کنم?
 

skyblu

Member
با تشکر زیاد ،ولی وقتی برنامه را اجرا می کنیم (مثلا من می خواهم از وسط فیلم شروع شود) و بعد دکمه play را کلیک می کنم ، ما نمی توانیم seekbar را به جلو بکشیم و بعد play کنیم ؟ چه کدی روی seekbar بنویسم ؟
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگر منظورتون مثالی هست که در مبحثی که بهش اشاره کردم وجود داره، فایل بصورت پیشفرض مسیردهی نمیشه و باید انتخاب بشه، و پس از انتخاب بلافاصله شروع به پخش میکنه، برای همین در همون ابتدا اصلاً ویدئویی لود نشده که بخاد جلو بره.

در کل این محدودیت در رویداد Mouse Down (صفحه ی اسکریپت نویسی) شئ seekbar_back تعیین شده، کد این هست:
کد:
[color=#0000FF]If[/color] (status$<>[color=#800000]''[/color]) [color=#0000FF]Then[/color] 
  [color=#000090][b]ScriptTimer[/b][/color]("TimerB=manual_move","[color=#ff0000]0[/color]") 
[color=#0000FF]End[/color]

حالا شما میتونید کلاً این خط رو حذف کنید یا مقدار متغیر رو اول برنامه تغییر بدید.
اما دقت داشته داشته باشید که این تغییرات باعث نشه از کیفیت برنامه تون کاسته بشه (مثلاً اگر قرار هست ویدئو از جایی لود بشه، تا لود نشده امکان جابجایی سیک بار وجود نداشته باشه)
 

skyblu

Member
من وقتی ،شی ویدئو را گذاشتم همان جا مسیر فیلم را نیز گذاشتم، پس من دکمه open ندارم من دکمه play و stop دارم .من می خواهم دکمه seekbar ، عین ویندوز مدیا پلیر ، این امکان را علاوه بر امکانات دیگر که کدش را گفته اید داشته باشد که بتوانم دکمه seekbar را تا جای دلخواه جلو بکشم (مثلا می خواهم از وسط فیلم شروع شود) ،بعد play کنم و فیلم شروع به پخش شدن کند چه کدی باید بنویسم؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
در پست قبل عرض کردم، کافیه دستور ScrptTimer موجود در شئ seekbar_back رو از درون شرط خارج کنید، و شرط رو حذف کنید.
 

evil_gates

اين نيز بگذرد ...
من وقتی ،شی ویدئو را گذاشتم همان جا مسیر فیلم را نیز گذاشتم، پس من دکمه open ندارم من دکمه play و stop دارم .من می خواهم دکمه seekbar ، عین ویندوز مدیا پلیر ، این امکان را علاوه بر امکانات دیگر که کدش را گفته اید داشته باشد که بتوانم دکمه seekbar را تا جای دلخواه جلو بکشم (مثلا می خواهم از وسط فیلم شروع شود) ،بعد play کنم و فیلم شروع به پخش شدن کند چه کدی باید بنویسم؟

با اجازه جناب nevercom

دوست عزيز

تو اون آموزش اگه با دقت همه مطالب رو مطالعه كرده باشيد عرض كردم طراحي يك Player ميتونه شكلهاي مختلفي داشته باشه. روشهاي مختلفي هم براي اجراش ميتونه وجود داشته باشه. كافيه شما كمي فكر كنيد كه دقيقا چي ميخوايد و اين چيزي كه تصور ميكنيد چه تاثيري بر بخشهاي مختلف پروژتون بايد داشته باشه.

پاسخ به سوالتون (اگه به درك صحيحي از كدهايي كه تو اون برنامه نوشتم رسيده باشيد) سخت نخواهد بود. كافيه شما در شروع فيلم مدت زمان كل فيلم رو به ثانيه بدست بياريد. طول seekbar رو هم بدست بياريد. با دستور VideoParam به ثانيه موردنظر از فيلم منتقل بشيد و همزمان با اون و متناسب با مقدار پرش فيلم با دستور MoveObject نوار رنگي پرشونده seekbar رو هم به نقطه لازم منتقل كنيد.

بعد از اون ميتونيد اسكريپت auto_move رو هم فعال كنيد و فيلم رو در زمان شروع از وسطش ببينيد.
 

skyblu

Member
با سپاس از این آموزشی که گذاشته بودید ، ببینید من در پروژه ام در صفحه 4 یک شی video و seekbar دارم و تمام چیزهایی که در آموزش گذاشته بودید را درست کردم و درست کار می کند ، اما مشکل اینجاست من در صفحه 3 دو دکمه دارم که هر کدام از این دکمه ها را کلیک می کنم باید یک فیلم خاص (فایل001.flv و flv.002) در صفحه 4 در یک شی video ، نشان بدهد . من نمی دانم در این دکمه ها چه کدی بنویسم که با کدهایی که در این آموزش گذاشته اید اجرا شود , و مشکلی ایجاد نشود؟؟؟
 

m javad

کاربر متخصص
خب شما برای دوتا دکمه های توی صفحه 3 ، یه متغییر تعریف کنید
مثلا به دکمه اول بدید که filmname=a قرار بده و به دکمه دوم بدید که filmname=b قرار بده
حالا توی page start صفحه 4 ، مقدار متغییر رو چک کنید
اگرfilmname=a بود دستور پخش فیلم اول و اگرfilmname=b دستور پخش فیلم دوم رو بدید
موفق باشید
 

skyblu

Member
ببنید طول نوار backseeckbar برایر است با 489 ، من می خواهم که seekbar وقتی حرکت می کند و به انتهای backseekbar که رسید
نوار seelbar به اول backseekbar بیاید باید چه کدی بنویسم و این کد را در کجا بنویسم؟
 

m javad

کاربر متخصص
تا زمانی که شما دقیقا نحوه کار seekbar رو متوجه نشید ، برای هر تغییر کوچک توی اون نیاز به این دارید که یه پست ایجاد کنید و اون تغییر رو انجام بدید
به نظر من اگر خودتون یکم روی این موضوع وقت بزارید و بهتر این ساختار رو بشناسید بهتر به نتیجه میرسید.
اگر نشد ، کدهای seekbar رو بزارید تا تغییرات لازم رو براتون توش اعمال کنم
موفق باشید
 

skyblu

Member
من قبل از اینکه به پست مراجعه کنم و سوال خود را مطرح کنم روی این موضوع وقت گذاشتم و نحوه کار seekbar را متوجه شدم و این کدی که در زیر می نویسم هم در seekbar و هم در backseekbar نوشتم ولی جواب نداد شما هم نگاه کنید ؟؟

objW=​
ObjectWidth(obj$)

If​
(objw = 439) Then

MoveObject("obj$","objX,objY,1,objH")
Hide("Pause_Key")
Show("Play_Key2")

End​
 

m javad

کاربر متخصص
خب من دقیقا نمیدونم متغییر هاتون چی هست
اگر objX مختصات x نشانگر seekbar باشه ، کد اشتباه هست
اگر objX مختصات x نوار seekbar باشه کد میتونه درست باشه
اگرم objW پهنای اون نوار رنگی هست که با جلو رفتن فیلم ، طولش افزایش پیدا میکنه، ممکنه پهنای اون دقیقا برابر با 439 نشه و اشکال از همین باشه
پس بهتره از If (objw >= 439) Then استفاده بکنید
به هر جهت اگر نشد، کد کامل رو برام بزاید تا مشکلتون رو حل کنم
موفق باشید
 

BlueMMB

Well-Known Member
ببخشید دوستان از این که وسط حرفتون پریدم ولی فکر کنم اگه از پلاگین Cool Bar که خود آقای M javad درستش کردن استفاده کنین بهتر باشه .
 

skyblu

Member
این هم مواردی که خواسته بودید
مختصات x نوار رنگي seekbar رو تو متغيري به نام objX قرار ميدم.
مختصات y نوار رنگي seekbar رو تو متغيري به نام objY قرار ميدم.
طول نوار رنگي seekbar رو تو متغيري به نام objW قرار ميدم.
عرض نوار رنگي seekbar رو تو متغيري به نام objH قرار ميدم.
در ثانی من طول نوار پشت seekbar که backseeckbar است با ابزار Dimensions گرفتم که طول این نوار 439 بوده است؟؟؟؟؟؟​
 

m javad

کاربر متخصص
خب پس باید توی این اسکریپتی که مرتبا داره تکرار میشه و طول نوار رنگی رو یزرگ میکنه یه شرط همونطور که مثال زده بودید تعریف کنید
که بررسی بکنه و زمانی که طول نوار رنگی objW بیشتر یا مساوی 439 شد ، طوا نوار رنگی رو 0 بکنه و ...
ظاهرا کدتون مشکل نداره، ولی برای حل شدن مشکل لطفا کل کد رو کپی کنید

در ثانی من طول نوار پشت seekbar که backseeckbar است با ابزار Dimensions گرفتم که طول این نوار 439 بوده است؟؟؟؟؟؟
منظورم اینه که ممکنه طول نوار رنگی مثلا برحسب زمان فیلم ، 2 پیکسل 2 پیکسل افزایش پیدا کنه
در این شرایط طوا اون هیچ وقت برابر 439 که عدد فردی هست نمیشه (به شرط اینکه مختصات x اون هم زوج باشه)

ببخشید دوستان از این که وسط حرفتون پریدم ولی فکر کنم اگه از پلاگین Cool Bar که خود آقای M javad درستش کردن استفاده کنین بهتر باشه .
منظورشون پلاگین TrackBar Plugin هست.
 

BlueMMB

Well-Known Member
بله ببخشید پلاگین TrackBar .
به نظر شما اون بهتر نیست ؟؟؟

البته اگه می خواین که آموزش داده بشه و همه ساختنش رو یاد بگیرن دیگه هیچی .
 

skyblu

Member
سلام
ببخشید که چند روزی نتوانستم به سایت سر بزنم و جواب سوالم را بگیرم از اینکه گفته بودید کد اسکریپتی که طول نواررنگی(seeckbar) را زیاد می کنه , این هم کدش

objW=ObjectWidth(obj$)
If (objW < backW) Then
If (status$='Play') Then
objW = objW + 1
MoveObject("obj$","objX,objY,objW,objH")
time =
INT((CBK_VTotalSec/backW)*1000)
ScriptTimer("TimerA=auto_move","time")
Else
Return()
End
End

و این کدی که در تایپیک بالای صفحه گذاشتم را پشت نوار رنگی یعنیbackseekbar نوشتم

حالا لطفا بگویید کجاکد اسکریپت، باید کد مورد نظر را اضافه کنم؟؟؟؟؟
 
آخرین ویرایش:

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

بالا