PDA

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;