Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 27 odgovora
  • 6.053 pregleda

Najnovija ↓

Re: problem sa music playerom 24.04.2009. u 01:32 · pre 213 meseci #21
ae savkicu, ubaci malo koda, moze?..:D
samo kod za taj deo...
Potpis
Mythbuster
Re: problem sa music playerom 24.04.2009. u 02:45 · pre 213 meseci #22
Evo dok g. Savkic ne ubaci kod, pogledaj ovaj link (post koji je napisao DragonSlayer):

http://www.experts-exchange.co...i/Q_20375967.html?qid=20375967

Trebalo bi da radi, deluje sve ok :). Mada, obrati paznju na komentar ;).

edit: kad odavde kliknes na link, ne mozes da pristupis postu (dok iz googla mozes), tako da evo koda koji je napisao:

Code:

DragonSlayer:
Here you go

1. Button1 has Caption that says "Play"
2. Checkbox1 has Text that says "Sync with Trackbar"
3. MediaPlayer1 has Visible set to False, and in this simple demo I've loaded in a file as well (was using an RMI file in the Windows' Media folder)
4. Timer1 has Interval set to 1000 and Enabled set to False


procedure TForm1.Button1Click(Sender: TObject);
begin
  MediaPlayer1.TimeFormat := tfMilliseconds;
  TrackBar1.Frequency := 5000;
  TrackBar1.Max := MediaPlayer1.Length;
  MediaPlayer1.Play;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
var
  LastChecked: Boolean;
begin
  LastChecked := CheckBox1.Checked;
  if CheckBox1.Checked then
    CheckBox1.Checked := False;
  MediaPlayer1.Stop;
  MediaPlayer1.Position := TrackBar1.Position;
  if CheckBox1.Checked <> LastChecked then
    CheckBox1.Checked := LastChecked;
  MediaPlayer1.Play;
end;

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  Timer1.Enabled := CheckBox1.Checked;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  TrackBar1.OnChange := nil; // this is to prevent the checkbox from becoming unchecked
  TrackBar1.Position := MediaPlayer1.Position;
  TrackBar1.OnChange := TrackBar1Change;
end;



Do not however, that using the original trackbar is not such a good solution, because when you are dragging the thumb slider (before releasing), the OnChange event still gets fired and so the MediaPlayer will try changing Position all the time (slooooow).

Perhaps you would also like to find some free trackbar components on the Net that you can use, which will only respond to OnChange when you release the mouse.

Do have fun with the code :)
Re: problem sa music playerom 25.04.2009. u 06:36 · pre 213 meseci #23
Hteo sam već neko vreme da napravim plejer i nisam se uspeo nakaniti a pošto je
bojan21 poslao zgodan kod za plejer uzeo sam da ga prilagodim svojim potrebama.
Zbog toga se zahvaljujem. Probaću (nisam do sada to radio) da stavim uz poruku
taj kod koji sam prilagodio svojim potrebama.


Inače za one koji neće pogledati kod koji šaljem kratko ovde:

Može da se stavi Timer (ubr, pre ovde nego što bi trebao da zameni Notify metod):

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
TimerPromene.Enabled := false;
TimerPromene.Enabled := true;
end;

> Do not however, that using the original trackbar is not such a good solution,
> because when you are dragging the thumb slider (before releasing),
> the OnChange event still gets fired and so the MediaPlayer will try
> changing Position all the time (slooooow).

Tako neće menjati Position sve vreme trajanja promena nego samo onog trenutka
kada nastupi "pauza" (odnosno istekne tajmerov interval) u događanju promena.
Ako se u TimerPromene stavi sekunda (stavio sam inaèe pola sekunde) onda će sve
promene kraće od te sekunde biti preskočene, jer æe se tajmerov interval
"resetovati" pre nego što uspe da istekne. Tek kada nastupi puza promena,
odnosno istekne interval od Timer sekunde, će se dogoditi i (kod u tajmeru)
promena. Ovo može da se vidi ili proba u kodu koji šaljem.

Re: problem sa music playerom 25.04.2009. u 15:39 · pre 213 meseci #24
ma ProgressBar je odradio svoje...
Iskoristio sam njega zato sto mi deluje kao najefikasnije i najlakse izvodivo resenje... Hvala Bojane :)
A mlo me nervira sto moj program nema ono da prikazuje koliko taje pesma i dokle je stiglo, pa da ne znate mozda kako bih i to mogao da resim?
Potpis
Mythbuster
Re: problem sa music playerom 25.04.2009. u 19:03 · pre 213 meseci #25
Stavi negde na formu dva labela - jedan za ukupno trajanje drugi za trenutnu poziciju.

Ovo je kod za ukupno trajanje, stavi ga u metodu Button6Click (dugme Next), recimo na kraj (nikako pre otvranja nove pesme):
Code:

Label1.Caption:= IntToStr(MediaPlayer1.Length div 60000) + ':' + FormatFloat('0#', Round(MediaPlayer1.Length / 1000) mod 60);


Slicno i za trenutnu poziciju, ali ovo stavi u Timer1Timer metodu, moze na pocetak:
Code:

Label2.Caption:= IntToStr(MediaPlayer1.Position div 60000) + ':' + FormatFloat('0#', Round(MediaPlayer1.Position / 1000) mod 60);


Nisam isprobao kod, mada bi trebalo da radi. Koliko se secam Lengh i Position su dati u milisekundama pa moras da delis sa 1000 :)
Re: problem sa music playerom 26.04.2009. u 12:47 · pre 213 meseci #26
ok, to je uspesno reseno... :D
a da li postoji neka mogucnost da se pesme iz playliste menjaju na klik, ili ne?
Potpis
Mythbuster
Re: problem sa music playerom 27.04.2009. u 14:17 · pre 213 meseci #27
Naravno da postoji mogucnost, ali nemam vremena sad da otvaram Delphi. Probaj sam da dodjes do resenja, ako zapnes negde, probacu da ti odgovorim cim budem mogao.
Re: problem sa music playerom 30.04.2009. u 05:35 · pre 213 meseci #28
Citat:
Mythbuster:
ok, to je uspesno reseno... :D
a da li postoji neka mogucnost da se pesme iz playliste menjaju na klik, ili ne?



U kodu koji sam slao tkaranovic se startuje na dvoklik jer bi pre trebalo da startuje dvoklikom nego klikom. Nije isti kod, u odnosu na ono što je izvorno poslao bojan(21), ali se može videti kako bi to trebalo da radi. Tako je jednostavno napraviti (dvo)klik da prosto ne verujem da nemaš ideju kako bi to moglo da se uradi. Inače ima i startovanje sa tasterom enter.



Šaljem nastavak (završni) pisanja koda, koji sam prethodno slao tkaranovic, uz ovu poruku ali ne kao odgovor na gore citiranu poruku nego za sve one koji čitaju ili će čitati i(li) pretraživati (kasnije) ovu temu i koje zanima pitanja koja su ovde pokrenuta a i napisao sam da ću i sam koristiti.

Dakle uz poruku je kod u kojem se koristi TrackBar ali ne više sa onChange i tajmer promenama nego se pozicija pesme sada menja klikom miša ili navigacionim tasterima (kada je fokusiran TrackBar). Dodatak je ispis mp3 taga (id3 i/ili mp3). Pronašao sam na Internetu zgodan unit ID3Engine koji je pisao William Anthony (ko god on bio) i koji sam ipravio i doradio na par mesta. Mesta gde sam dopisivao i(li) prilagođavao označio sam sa: "//tkaranovic". Inače ID3Engine sam iskoristio samo za čitanje informacija a daje mogućnost i da se pišu.
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme