کمک در مورد پلاگین xtmedia

pbteco

Member
با سلام
در حال ساخت یک پلیر برای پروژه دانشگاه هستم.
میخوام بدونم چطور میشه به جای آدرس کامل فایل از دستورات بیلدر برای کوچکتر کردن اون استفاده کنم.
به عنوان مثال :
set$='E:\video\Movie.avi'
If (set$<>'') Then
PluginSet("PlugIn","set$")
PluginRun("PlugIn","Open")
End
مقدار (set$) رو چطور بنویسم که به راحتی بر روی سی دی یا به صورت Local اجرا بشه و آدرس کامل فایل رو نخواد؟
نمیدونم از دستور <ُSrcDir>یا <Embedded> چطور استفاده کنم
لطفا کمک کنید
با تشکر
 
آخرین ویرایش:

m javad

کاربر متخصص
کد شما به این صورت تبدیل میشه:

کد:
set$=<SrcDir>+'Movie.avi'
If (set$<>'') Then
PluginSet("PlugIn","set$")
PluginRun("PlugIn","Open")
End
این کد فایل movie.avi رو از توی همون فولدری که فایل exe شما باشه اجرا خواهد کرد
در این مورد زیاد توی انجمن موضوع هست
 

pbteco

Member
کد شما به این صورت تبدیل میشه:

کد:
set$=<SrcDir>+'Movie.avi'
If (set$<>'') Then
PluginSet("PlugIn","set$")
PluginRun("PlugIn","Open")
End
این کد فایل movie.avi رو از توی همون فولدری که فایل exe شما باشه اجرا خواهد کرد
در این مورد زیاد توی انجمن موضوع هست
ممنون از لطفت دوست عزیز من چندتا سوال دیگه هم دارم که همینجا خدمتتون عرض میکنم
واسه این پلیر ی دکمه طراحی کردم که میخوام بعد از فشردن اون و پخش فیلم چند تا کار دیگه هم انجام بشه.همه کدهای xtmediaرو دارم اما هر چی تلاش کردم درست نشد:
1.تو یه textbox نشون بده الان در چه موقعیتی از پخش فیلم هست.
2.تو یه textbox دیگه نشون بده کل فیلم چند دقیقه هست.
3.بعد از فشردن دکمه پخش به صورت تمام صفحه بشه.
با تشکر
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
اگر منظورتون از موقعیت پخش فیلم، وضعیت پخش هست (یعنی Play, Pause, Stop)، از کد زیر استفاده کنید:
کد:
[color=#000090][b]PluginRun[/b][/color]("PlugIn","PlayState") 
[color=#000090][b]PluginGet[/b][/color]("PlugIn","State") 
[color=#0000FF]If[/color] (State == [color=#ff0000]0[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// PlayState: 0; No File Was Opened[/color] 
  Text$ = [color=#800000]'Nothing is Opened or Played'[/color] 
  [color=#000090][b]LoadText[/b][/color]("Text","Text$") 
[color=#0000FF]End[/color] 
[color=#0000FF]If[/color] (State == [color=#ff0000]1[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// PlayState: 1; Music Stoped[/color] 
  Text$ = [color=#800000]'Music Stoped'[/color] 
  [color=#000090][b]LoadText[/b][/color]("Text","Text$") 
[color=#0000FF]End[/color] 
[color=#0000FF]If[/color] (State == [color=#ff0000]2[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// PlayState: 2; Music Paused[/color] 
  Text$ = [color=#800000]'Music Paused'[/color] 
  [color=#000090][b]LoadText[/b][/color]("Text","Text$") 
[color=#0000FF]End[/color] 
[color=#0000FF]If[/color] (State == [color=#ff0000]2[/color]) [color=#0000FF]Then[/color] 
  [color=#009000]**// PlayState: 3; Music is Playing[/color] 
  Text$ = [color=#800000]'Music is Playing'[/color] 
  [color=#000090][b]LoadText[/b][/color]("Text","Text$") 
[color=#0000FF]End[/color]

اگر هم منظورتون دقیقه و ثانیه ی پخش هست از CurrentPosition و CurrentPositionSec استفاده کنید.

برای زمان کل فایل هم از دستور Duration استفاده کنید.
کد:
[color=#000090][b]PluginRun[/b][/color]("PlugIn","Duration") 
[color=#000090][b]PluginGet[/b][/color]("PlugIn","Duration$") 
[color=#000090][b]LoadText[/b][/color]("Text","Duration$")


از کد زیر هم برای FullScreen استفاده کنید:
کد:
set=[color=#ff0000]1[/color] 
[color=#000090][b]PluginSet[/b][/color]("PlugIn","set") 
[color=#000090][b]PluginRun[/b][/color]("PlugIn","SetFullScreen")


همه ی اینها در مثال همراه پلاگین مشخص هست، اگر اون رو بررسی کنید متوجه خواهید شد.
 

pbteco

Member
با سلام خدمت دوست عزیز جناب nevercomhttp://forum.majidonline.com/member.php?u=74054
منظورم دقیقه و ثانیه ی پخش هست ولی هر کاری میکنم بعد از فشردن دکمه انجام بشه جواب نمیده :sad:
کد مربوط به CurrentPosition:
ScriptTimer("Timer","1000")
PluginRun("PlugIn","CurrentPosition")
PluginGet("PlugIn","get$")
DisplayValue("Timer","get$")
کد مربوط به Duration
ScriptTimer("Total","1000")
PluginRun("PlugIn","Duration")
PluginGet("PlugIn","get$")
LoadText("Total","get$")

این کد ها رو تو قسمت mouseup و mousedown گذاشتم اما فقط CurrentPosition جواب میده.میخوام بعد از فشردن دکمه و پخش فیلم Duration در textboxبیاد و CurrentPosition به صورت ثانیه به ثانیه آپدیت بشه.
لطفا کمک کنید.
با تشکر
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
نکته ی اول اینکه هربار میخاید از ScriptTimer استفاده کنید، از پیشوند Timer1, Timer2,...Timer1000 استفاده کنید
کد:
[color=#000090][b]ScriptTimer[/b][/color]("Timer1=Timer","[color=#ff0000]1000[/color]") 
 
[color=#000090][b]ScriptTimer[/b][/color]("Timer2=Total","[color=#ff0000]1000[/color]")

با اینکار هرکدوم از اسکریپت ها بصورت مجزا و موازی درکنار هم اجرا میشن، اما اگه از Timerها استفاده نشه، در اجراشون تداخل ایجاد میشه و فقط یکیشون اجرا میشه.

با توجه به این موضوع کدتون رو ویرایش کنید، احتمالاً ایراد از اون هست.
 

pbteco

Member
با تشکر از دوست عزیز جناب nevercom این مشکلم حل شد اما مشکل تمام صفحه شدن بعد از فشردن دکمه هنوز پا برجاست.کدی که فرمودید:
set=1
PluginSet("PlugIn","set")
PluginRun("PlugIn","SetFullScreen")
در چه قسمتی باید قرار بدم که بعد از فشردن اون دکمه به صورت تمام صفحه در بیاد؟
من این کد رو در mousedown نوشتم :
set$=<SrcDir>+'Movie.wmv'
If (set$<>'') Then
PluginSet("PlugIn","set$")
PluginRun("PlugIn","Open")
PluginRun("PlugIn","Play")
End
set=1
PluginSet("PlugIn","set")
PluginRun("PlugIn","SetFullScreen")


با تشکر
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
برای اینکار، باید یک وقفه ای برای اجرای ادامه ی کد ایجاد کنید، تا فیلم پخش بشه و بعد دستور FullScreen داده بشه:
کد:
set$=<[color=#0000FF]SrcDir[/color]>+[color=#800000]'Movie.wmv'[/color] 
[color=#0000FF]If[/color] (set$<>[color=#800000]''[/color]) [color=#0000FF]Then[/color] 
  [color=#000090][b]PluginSet[/b][/color]("PlugIn","set$") 
  [color=#000090][b]PluginRun[/b][/color]("PlugIn","Open") 
  [color=#000090][b]PluginRun[/b][/color]("PlugIn","Play") 
[color=#0000FF]End[/color] 
[color=#000090][b]Pause[/b][/color]("[color=#ff0000]1000[/color]") 
set=[color=#ff0000]1[/color] 
[color=#000090][b]PluginSet[/b][/color]("PlugIn","set") 
[color=#000090][b]PluginRun[/b][/color]("PlugIn","SetFullScreen")
 

pbteco

Member
ی سوال داشتم
آیا میتونم یه AudioVisualization رو به پروژه اضافه کنم و بعد از اجرای فیلم Visualization شروع به کار کنه؟
با تشکر
 

m javad

کاربر متخصص
سلام
منظورتون از AudioVisualization برای صدای فیلم در حال پخش هست؟
اگر این باشه که فکر نمی کنم بشه
فعلا پلاگینی هم وجود نداره که بتونه این کارو بکنه
 
آخرین ویرایش:

pbteco

Member
بله منظورم AudioVisualization هستش که بتونه با xtmedia ارتباط برقرار کنه!
ممنون میشم اگه کسی بتونه کمک کنه :rose:
 

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

بالا