PDA

View Full Version : ترک بار در media player



آرشم@30
چهارشنبه 29 شهریور 1385, 19:41 عصر
چطور می توان track bar که با موس هم بتوان آن را کنترل کرد برای مدیا پلیر ایجاد کرد
من جستجو کردم ولی راهای پیشنهاد شده مفید واقع نشد
ضمنا چند کامپوننت هم دانلود کردم که بدرستی نصب نشدند یا کامل نبودند
about .com یک چیزهایی داره من نتونستم خوب متوجه بشم
یکی پیشنهاد داده از windows media player که در activex خود دلفی نصب میشه استفاده کنم
ولی هیچ help برای نحوه استفاده آن پیدا نکردم
متشکرم

javad_hosseiny
پنج شنبه 30 شهریور 1385, 10:09 صبح
در چه قسمتی مشکل دارید (یعنی چه می خواهید تراک بار با موس کنترل شود ) خوب بصورت طبیعی با موس تغییر می یابد شما باید با کد نویسی این تغییر را کنترل کنید و با استفاده از یک تایمر آن را به آبجکت مدیاپلیر خود متصل کنید.
جهت تراک بار نیز می تونید از کامپونت janTracker استفاده کنید که قابلیت تغییر رنگ زمینه - نوار - و نشانک را می دهد (جهت زیبایی و همخوانی با زنگ زمینه و ...)
(جهت عدم مشکل در پیدا کردن و کار کردن با کامپونت موردنظر را بنده اینجا آپلود می کنم)

یکی پیشنهاد داده از windows media player که در activex خود دلفی نصب میشه استفاده کنم
البته اون هم راه حلی هست ولی بنده پیشنهاد می کنم از خود مدیاپلیر دلفی استفاده کنید.
جهت راهنمای بیشتر تکه کدهای مربوط به کنترل مدیا پلیر و ... را اینجا می گذارم:
فعال کردن تایمر و باز کردن فایل در مدیاپلیر:



Timer1.Enabled := True;
MediaPlayer1.Enabled := True;
MediaPlayer1.DeviceType:=dtAutoSelect ;
MediaPlayer1.TimeFormat := TfHMS;

MediaPlayer1.FileName := tmp ;
MediaPlayer1.Open ;
tmp: نام فایل صوتی و تصویری که خوانده می شود
حالا مقدار اندازه فایل موردنظر را به تراکر خود مقدار بدهید

MediaPlayer1.Position:=0;
MediaPlayer1.Play;
janTracker1.Maximum := MediaPlayer1.Length;
janTracker1.Enabled := true;

janTracker1.Value := MediaPlayer1.Position;
OldPosition := janTracker1.Value;
StartPosition := janTracker1.Value;

V1 := (MediaPlayer1.Length Div 1000);
TimeWave := IntToStr(V1 div 60) + ':' + IntToStr(V1 mod 60);
Label4.Caption := TimeWave;

label4 برای نمایش اندازه فایل به ثانیه می باشد.
حالا کافی است در تایمر خود کد ذیل را قرار دهید:

janTracker1.Value := MediaPlayer1.Position;
V1 := (MediaPlayer1.Position Div 1000);
TimeWave := IntToStr(V1 div 60) + ':' + IntToStr(V1 mod 60);
Label3.Caption := TimeWave;
label3 مقدار زمانی که از فایل گذشته را نمایش می دهد.
---------------
البته این بخش های از کد یک برنامه پخش فایلهای صوتی و تصویری هست (که قابلیت دارد لیستی از فیلم های موجود در جدول را نمایش داده و با کلیک کاربر فیلم را نمایش می دهد (با قابلیت اسکرول توسط تراک بار و کم و زیاد کردن صدا و اندازه تصویر و ....)
----

ealvandi
شنبه 15 اردیبهشت 1386, 00:00 صبح
http://barnamenevis.org/forum/showthread.php?t=66448&highlight=windows+media