- Yapmak istediğim, farklı zaman aralıklarında Tik ve Tak seslerini çalarak (Tik, Tak, Tik, Tak) olacak şekilde metronom hazırlamak.
İnternette örnek projeler buldumsa da onlarda da problem var!
- Taslak çalışması için:
AnaForm üzerinde 2 adet ses seviye kontrolü için slider, 1 tane hız değeri giriş için Edit kutucuğu ve 1 tanede başla ve dur işlemi için button var.
Örnek bulduğum kodları aşağıdaki gibi yapmaya çalıştım.
Kod: Tümünü seç
...
procedure AnaForm.SesleriSiraliCal(hiz:integer);
var
x:byte;
begin
for x:=1 to 2 do
begin
if tag = 1 then exit;
begin
if x mod 1=0 then TikCal; //Tik wav dosyasını çalan procedure
if x mod 2=0 then TakCal; //Tak wav dosyasını çalan procedure
sleep(hiz);
end;
end;
end;
procedure AnaForm.btnBaslaDurClick(Sender: TObject);
begin
if btnBaslaDur.caption='Basla' then
begin
tag := 0 ;
btnBaslaDur.caption:='Dur';
while tag=0 do
begin
SesleriSiraliCal(StrToInt(Edit1.Text));
end;
end
else
begin
btnBaslaDur.caption:='Basla';
tag:=1;
end;
end;
- Problem:
Çalma işlemi devam ederken,
1- AnaFormun Caption bölümüne mouse ile dokunulduğu zaman,
2- Ses seviyesi kontrolü için sileder ın pozisyonu değişirken çalma işlemi beklemeye geçiyor!
AnaForm Caption u ve sileder serbest bırakıldığında tekrar kaldığı yerden çalmaya başlıyor!
- Yukarda belirttiğim bu problemi nasıl çözebilirim?
Yardımcı olan herkese şimdiden teşekkürler