mp3 player
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
mp3 player
selam mp3 player programı üzerinde çalışıyorum.
mp3 listesini shelltreeview ile klasör seçerek filelistbox içine alıp tıkladığımı çaldırabiliyorum.Ama listedekilerin tamamını çaldırmak istiyorum.sırayla veya karışık.ne yapmam lazım.Bir de programı açtığımda önceki listeyi hatırlaması için ne yapmalıyım.
mp3 listesini shelltreeview ile klasör seçerek filelistbox içine alıp tıkladığımı çaldırabiliyorum.Ama listedekilerin tamamını çaldırmak istiyorum.sırayla veya karışık.ne yapmam lazım.Bir de programı açtığımda önceki listeyi hatırlaması için ne yapmalıyım.
filelistbox ta elemanlara yani dosyalara Items ozelligi ile erisebilirsin sanırım
rastgele sıralama icin de eleman sayısı kadar bir for dongusu
icinde ise max degeri items.count-1 kadar olan random fonk. kullanılır.
ama her dongude benzersiz bir random sayı icin algoritmayı biraz iyilestirmek lazım
aslında guzel bir algoritma sorusu,
bir arkadas 1 ile 50 arasında benzersiz random sayı uretme ile ilgili bir soru sormustu
ona tazdııgım cevaptan faydalanabilirsin
tabi ilk once arayıp bulman lazım
rastgele sıralama icin de eleman sayısı kadar bir for dongusu
icinde ise max degeri items.count-1 kadar olan random fonk. kullanılır.
ama her dongude benzersiz bir random sayı icin algoritmayı biraz iyilestirmek lazım
aslında guzel bir algoritma sorusu,
bir arkadas 1 ile 50 arasında benzersiz random sayı uretme ile ilgili bir soru sormustu
ona tazdııgım cevaptan faydalanabilirsin
tabi ilk once arayıp bulman lazım
ÜŞENME,ERTELEME,VAZGEÇME
ikinci kez açıldığında önceki listeyi hatırlamsı için ini dosyası kullanabilirsin.. Mesela her açılışta bir öncekini yüklersin ve kapanışta iniyi sıfırlarsın sonra tekrar ini ye kayıt edersin..
ne kadar kullanışlı bir yöntem bilemiyorum ama fikir verebilir belki.
Bu arada normal bir şekilde kapanmazsa ne olacak diyebilirsin ama zaten winamp bile normal kapanmadıysa listeyi kayıt etmiyor.
ne kadar kullanışlı bir yöntem bilemiyorum ama fikir verebilir belki.
Bu arada normal bir şekilde kapanmazsa ne olacak diyebilirsin ama zaten winamp bile normal kapanmadıysa listeyi kayıt etmiyor.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
selam
filelistbox'u form kapanırken kaydediyorum,açılırken de oradan okuyorum.Program açıldığında önceki şarkı listesi görünüyor..
Yalnız play dediğimde hata ile karşılaşıyorum.bence bunun nedeni şarkı listesinin yolunun belirtilmemiş olması.ben de shelltreeview i de savetofile ile kaydedip loadfromfile ile okumak istedim.kayıt yapıyor ama okumada hata veriyor.biraz daha açacak olursam:
shelltreeview1.savetofile('c:\yol.txt');//ile yaptığım kayıt:
bu kaydı geri yükleyemiyor.
shelltreeview'i
veya filelistbox'u
şeklinde kayıt yapabilirsem, listede görünen şarkıların problemsiz çalınabileceğini düşünüyorum.Ancak ne shelltreeview'i ne de filelistbox'u yukarıdaki gibi kayıt edemedim
Belki de yanlış yoldayım.Sizce program açıldığında eski listeyi hatırlaması ve çalabilmesi için ne yapmam lazım.
filelistbox'u form kapanırken kaydediyorum,açılırken de oradan okuyorum.Program açıldığında önceki şarkı listesi görünüyor..
Kod: Tümünü seç
feridun duzagac - Askin E hali.mp3
Jenifer Lopez - Lets Get Loud.mp3
Jennifer Lopez & Mark Anthony- No Me Ames.mp3
shelltreeview1.savetofile('c:\yol.txt');//ile yaptığım kayıt:
Kod: Tümünü seç
Masaüstü
Belgelerim
Bilgisayarım
3½ Disket (A:)
Yerel Disk (C:)
Yerel Disk (D:)
mp3
elvis presley
favori
klasik
CD Sürücüsü (E:)
Denetim Masası
Paylaşılan Belgeler
aysel - Belgeler
Ağ Bağlantılarım
Geri Dönüşüm Kutusu
shelltreeview'i
Kod: Tümünü seç
D:\mp3\favori\
Kod: Tümünü seç
D:\mp3\favori\Jenifer Lopez - Lets Get Loud.mp3
D:\mp3\favori\Jennifer Lopez & Mark Anthony- No Me Ames.mp3
D:\mp3\favori\feridun duzagac - Askin E hali.mp3
Belki de yanlış yoldayım.Sizce program açıldığında eski listeyi hatırlaması ve çalabilmesi için ne yapmam lazım.
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
halledemedim bir türlü
yok olmuyor yapamıyorum.neredeyse bir haftadır bu problemi halledemedim.
mediaplayere yolu bildirip açıyorum:
listeyi kaydedip yüklüyorum:
e tabi bu şekilde yükleyince mediaplayer hata veriyor.çünkü dosya yolu
c:\program files\borland\delphi7\projects\mediaplayer\müzik.mp3 olarak görülüyor.
dosya yolunu filelistbox içinde gösteremedim ama listbox tam yolu gösterdi.
arkadaşlar biraz uzattım galiba kusura bakmayın.listenin tamamını geri yüklendiğinde çalınabilecek tipte nasıl kaydedebilirim.Yada
listbox taki path ile filelistbox taki, şarkı isimlerini nasıl birleştirebilirim.Yardımcı olacak arkadaşlara minnettar kalacağım.
mediaplayere yolu bildirip açıyorum:
Kod: Tümünü seç
procedure TForm1.ShellTreeView1Click(Sender: TObject);
begin
filelistbox1.Directory:=shelltreeview1.Path;
mediaplayer1.FileName:=filelistbox1.FileName;
mediaplayer1.Open;
end;
Kod: Tümünü seç
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
filelistbox1.Items.SaveToFile('c:\liste.txt');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
filelistbox1.Items.LoadFromFile('c:\liste.txt');
c:\program files\borland\delphi7\projects\mediaplayer\müzik.mp3 olarak görülüyor.
dosya yolunu filelistbox içinde gösteremedim ama listbox tam yolu gösterdi.
Kod: Tümünü seç
listbox1.Items.Add(filelistbox1.filename);//eklediğim listboxta seçili şarkının tam yolu görünüyor
listbox1.items.add(shelltreeview1.Path);//listboxta mp3 ün pathi görülüyor
listbox taki path ile filelistbox taki, şarkı isimlerini nasıl birleştirebilirim.Yardımcı olacak arkadaşlara minnettar kalacağım.
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
sonunda buldum arkadaşlar,
artık programı açıp play tuşuna basınca eski listeyi hatırlıyor ve çalıyor.
kodlarım çok karıştı denemeler sırasında ama genel olarak
iki filelistbox var, birinde path diğerinde şarkı isimleri var
birleştiren kod ise:
artık programı açıp play tuşuna basınca eski listeyi hatırlıyor ve çalıyor.
kodlarım çok karıştı denemeler sırasında ama genel olarak
iki filelistbox var, birinde path diğerinde şarkı isimleri var
birleştiren kod ise:
Kod: Tümünü seç
mediaplayer2.FileName:=filelistbox2.items[filelistbox2.itemindex] +'\'+ filelistbox1.items[filelistbox1.itemindex];
-
- Üye
- Mesajlar: 99
- Kayıt: 08 Nis 2004 02:18
- İletişim:
evet işime yarayacak kodu bulunca sevindim tabi, acemilik, kodlara yabancılık zor şey.şimdi bakınca kodda hiçbirşey yokmuş, basit bir şeymiş diyorum ama bulana kadar göbeğim çatladı resmen.Şu da var ki mp3 player yapma amacım sadece delphiyi öğrenmek.bir hedefim olursa daha iyi motive oluyorum.Delphi'yi ve bu siteyi seviyorum.
Fikir veren, destek olan arkadaşlara teşekkür ederim.
Fikir veren, destek olan arkadaşlara teşekkür ederim.
bide bunu incele. senin esas dosyan bir değişkende duruyor.
listboxda senin verdiğin sırayla eklediğin objelerde ise bu değişkendeki sıra.
sen listboxdaki sıralamayı istediğin kadar değiştir... ama herzamna oblect nosu bu değişkendeki sıra ile aynı olacak .
bu gibi birşey dene
listboxda senin verdiğin sırayla eklediğin objelerde ise bu değişkendeki sıra.
sen listboxdaki sıralamayı istediğin kadar değiştir... ama herzamna oblect nosu bu değişkendeki sıra ile aynı olacak .
bu gibi birşey dene
Kod: Tümünü seç
var MyList: TStringList;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
Mylist := TStringList.Create;
Mylist.LoadFromFile('c:\listem.txt');
ListBox1.Items.Clear;
for i:= 0 to Mylist.Count-1 do
Listbox1.Items.AddObject('Deneme'+inttostr(i+9),TObject(i));
Listbox1.Sorted:=TRUE;
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
showmessage(Listbox1.Items[Listbox1.itemindex]);
showmessage(inttostr(integer(Listbox1.items.Objects[Listbox1.itemindex])));
showmessage(Mylist[integer(Listbox1.items.Objects[Listbox1.itemindex])]);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
Mylist.Free;
end;