Delphi Can
Ses Dosyası Çalma - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: Ses Dosyası Çalma (/showthread.php?tid=5644)



Ses Dosyası Çalma - OmerAsaf - 14-01-2021

Merhaba Arkadaşlar,

Sipariş geldiği zaman otomatik sipariş fişini hazırlayan ve yazıcıdan çıktı veren yazılım kullanıyoruz.  
Arkadaşlar devamlı yazıcının yanında olmayabiliyor sipariş geldiği zaman uyarı anlamında ses dosyası çalmak istiyorum. 


Nasıl yapabilirim. 



 Beep; 

sesi de çözümde ben kendi istediğim dosyayı çalmak istiyorum.


Cvp: Ses Dosyası Çalma - Mr.Developer - 14-01-2021

Merhaba,
Eğer çok basit olarak algılamadı isem bir adet mediaplayer bileşeni işinizi çözecektir.
play ve stop komutları ile işlemleri halledebilirsiniz.
 
 MediaPlayer1.Close;
 MediaPlayer1.FileName := 'Z:\muzik\Yolların sonu.mp3';
 MediaPlayer1.Open;
 MediaPlayer1.Play;



Ses Dosyası Çalma - mrmarman - 14-01-2021

@Mr.Developer önerisi geçerlidir.

- Ben de kendi projelerime uyarı mesajlarını ses dosyaları halinde resource içine ekliyorum. Sonra duruma göre sıradan index no vererek çaldırıyorum.

Kullanımı...

Uses System.Classes, WinApi.MMSystem;

procedure TSchoolTimer.PlaySound( idx: word );
var
  Res : TResourceStream;
begin
  SndPlaySound(nil, 0); // Stops the sound
  Res := TResourceStream.Create(HInstance, Format('sound%.2d', [idx]), RT_RCDATA);
    Res.Position := 0;
    SndPlaySound(res.Memory, SND_MEMORY or SND_ASYNC);
  Res.free;
end;




Resource dosyamdaki sesler şu şekilde isimlendirilmiştir. 
Kod:
sound01 RCDATA phone.wav
sound02 RCDATA MessageBeep.wav
sound03 RCDATA wav_shutdown.wav
sound04 RCDATA wav1.wav


Kullanımı da şöyle, örnek senaryo :  durum oluştuğunda projemiz minimize edilmişse önce restore edilip sonra ses çaldırır.

...
          if self.windowstate = wsMinimized
            then self.WindowState := wsNormal;
          PlaySound(1);
...