View Full Version : همخوانی progressBar fh موزیک در حال پخش
MY DEAR DELPHI
جمعه 29 شهریور 1387, 08:32 صبح
سلام به همه
چطور می تونم وقتی یک موزیک در حال پخشه یک ProgressBar بزارم که با موزیک پیش بره. و اندازه progress Bar رو نمی خوام تغییر بدم می خوام نسبت به اندازه موزیک سرعت pro تغییر کنه
Felony
جمعه 29 شهریور 1387, 10:54 صبح
برای این کار اول طول فایل موزیکت رو با کد زیر بدست بیار :
MediaPlayer1.Length
بعد عدد حاصل رو به عنوان خاصیت Max آبجکت ProgressBar قرار بده
بعد یه تایمر بزار و خاصیت Interval ش رو بزار 1 میلی ثانیه
بعد دررون کد تایمر بنویس :
ProgressBar1.Position:=MediaPlayer1.Position
MY DEAR DELPHI
جمعه 29 شهریور 1387, 11:55 صبح
همین کارو کردم ولی نه media player موزیک رو پخش می کنه و نه progressbar حرکت میکنه.به نظر شما دوست عزیز کجا کار اشکال داره
Hsimple11
جمعه 29 شهریور 1387, 12:49 عصر
روشی که گفته شد درسته. ببینید واسط MCI شما در پخش آهنگ مشکل ندارد. بجای Length می توانید از [TrackLength[1 نیز استفاده کنید. در ضمن اختصاص طول فایل به Max Progressbar را در OnCreate فرم بنویسید :
procedure TForm1.FormCreate(Sender: TObject);
begin
ProgressBar1.Max := MediaPlayer1.TrackLength[1];
end;
Felony
جمعه 29 شهریور 1387, 18:41 عصر
یه مثال برات نوشتم که بزارم ولی نمیدونم چرا نمیشه آپلود کنم مثل اینکه ویندوزم تعطیل شده ، برات همینطوری میگم :
ببین یه دکمه و یه OpenDialog و یه MediaPlayer و ProgressBar و یه Timer رو فرمت بزار و در کد کلیدت کد زیر را بنویس :
if opendialog1.Execute then
mediaplayer1.FileName:=opendialog1.FileName;
mediaplayer1.Open;
mediaplayer1.Play;
ProgressBar1.Max:=mediaplayer1.Length;
timer1.Enabled:=true;
حالا در زمان طراحی فرمت خاصیت Enabled آبجکت Timer1 ت رو Disable کن و مقدار Interval ش رو 1 میلی ثانیه قرار بده و در رویداد OnTimer آبجکت Timer ت کد زیر رو بنویس :
ProgressBar1.Position:=mediaplayer1.Position;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.