Yorumları: 1.381
Konuları: 75
Kayıt Tarihi: 20-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Delphi 10.2
- Delphi 7
- Lazarus / FPC
Rep Puanı: 3.849
Uzman
Merhaba arkadaşlar.
Kafama bir soru takıldı. Billdiğiniz üzere Delphide yazılan programlar Windwos da tanıtılmış sesleri olaylara göre çalıyor.
Örneğin uygulama içinde ENTER tuşuna bastığınızda Blingg diye bir ses çalıoyr (Windows da tanıtılmış ses)..
Bunu uygulama içinde komple iptal edip başka bir ses çaldırma işi ile ilgilenen oldu mu hiç yada aklına bir fikir gelen?
// Bilgi paylaştıkça çoğalır..
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
(08-06-2020, Saat: 15:35)mcuyan Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar.
Kafama bir soru takıldı. Billdiğiniz üzere Delphide yazılan programlar Windwos da tanıtılmış sesleri olaylara göre çalıyor.
Örneğin uygulama içinde ENTER tuşuna bastığınızda Blingg diye bir ses çalıoyr (Windows da tanıtılmış ses)..
Bunu uygulama içinde komple iptal edip başka bir ses çaldırma işi ile ilgilenen oldu mu hiç yada aklına bir fikir gelen?
Selamlar
Ben genelde onpresskey eventına aşağıdaki şekilde bir kodla yapıyorum.
sndPlaySound('D:\batarya_izleme\alarm.wav', SND_NODEFAULT Or SND_ASYNC Or SND_LOOP);
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
08-06-2020, Saat: 16:06
(Son Düzenleme: 08-06-2020, Saat: 16:08, Düzenleyen: shooterman.)
(08-06-2020, Saat: 16:00)mcuyan Adlı Kullanıcıdan Alıntı: hocam öncelikle cevap için teşekkürler.
boş forma bi edit yerleştirin, onkeypress olayına
if key=#13 then
playsound('C:\windows\media\tada.wav',0,SND_ASYNC );
yazdığınızda hem beep sesi hemde sizin kodda belirttiğiniz "tada" sesi geliyor. Ben beep sesinin hiç çıkmasını istemiyorum.
o halde kodu lütfen şu şekilde düzenleyin. Sorun olmadığını göreceksiniz.
SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDWININICHANGE);
if key=#13 then
playsound('C:\windows\media\tada.wav',0,SND_ASYNC );
aşağıdaki kodlarla enable ve disable edebilirsiniz.
//Disable system beep
SystemParametersInfo(SPI_SETBEEP, 0, nil, SPIF_SENDWININICHANGE);
//Enable system beep
SystemParametersInfo(SPI_SETBEEP, 1, nil, SPIF_SENDWININICHANGE);
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 1.381
Konuları: 75
Kayıt Tarihi: 20-03-2017
Aktif Kullandığınız Delphi Sürümü:
- Delphi 10.3
- Delphi 10.2
- Delphi 7
- Lazarus / FPC
Rep Puanı: 3.849
Uzman
Walla ne kadar teşekkür etsem azdır tam olarak istediğim buydu hocam.
Fakat 1 kere sesi kapatınca tüm formlarda hatta sistemi kapatı açınca da komple kesiliyor. sanırım direk windowsun sesini kapatıyor? doğru mu anlamışım.. sadece o oturum için yapılan bir olay değil tüm zamanları etkliyor?
// Bilgi paylaştıkça çoğalır..
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
(08-06-2020, Saat: 21:09)mcuyan Adlı Kullanıcıdan Alıntı: Walla ne kadar teşekkür etsem azdır tam olarak istediğim buydu hocam.
Fakat 1 kere sesi kapatınca tüm formlarda hatta sistemi kapatı açınca da komple kesiliyor. sanırım direk windowsun sesini kapatıyor? doğru mu anlamışım.. sadece o oturum için yapılan bir olay değil tüm zamanları etkliyor?
Sanırım öyle. Bu sebeple, formun kapanışından öncei tekrar enable yapmanız uygun olacaktır.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 669
Konuları: 73
Kayıt Tarihi: 20-12-2018
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.544
Programcı
(08-06-2020, Saat: 21:39)mcuyan Adlı Kullanıcıdan Alıntı: malesef sıkıntı oldu. Fakat aşağıdaki kod ile çözdüm olayı. aslında VK_Return da bitti iş
if (Key = #13) then
begin
Key := #0;
Perform(CM_DIALOGKEY, VK_RETURN, 0);
Button3.Click;
end;
Geçmiş olsun o halde.
Yazılımcı, kahveyi koda çeviren bir organizmadır.
Yorumları: 120
Konuları: 12
Kayıt Tarihi: 06-06-2020
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 1.331
Programcı
Merhabalar ses konusu ile ilgili yeni konu açmamak için buraya yazıyorum. yanlış olmamıştır İnşallah.
Delphi 10 Seattle FMX uygulamasında MessageDlg (ve eskiden Application.MessageBox) kullanıyordum fakat OK, Cancel, Yes, No düğmeleri Windows'ta Türkçe çıkmadığı için kendi function'mı yazdım. İçinde de ses çıkarması için "System.SysUtils.Beep;" ekledim. Fakat artık birkaç defa mesaj çağrıldıktan sonra hafızada Windows Audio Device Graph Isolation sürekli büyümeye başlıyor. Birkaç saat sonra yüzlerce MB oluyor. MessageDlg kullanırken böyle değildi. İleride uygulamayı dağıtınca hafıza miktarı düşük bilgisayarlarda problem olmasından endişeleniyorum. İleriki sürümlerde böyle bir problem var mı? veya alternatif tavsiye edebilir misiniz?
saygılar mustafa ֍zgün