Ses üretme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
EYasin
Üye
Mesajlar: 13
Kayıt: 10 Nis 2004 02:12
Konum: NEVŞEHİR

Ses üretme

Mesaj gönderen EYasin »

Ben bir alarmlı saat yapmak istiyorum ama ama alarmın çalma zamanı geldiğinde bir ses dosyasını çalmasın sesi kendi üretsin bu mümkün mü?
yardımlarınızı bekliyorum Teşekkürler

**Birlikten kuvvet doğar**
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba

Bak aklıma gelen microfonu eline al ve alfabeyi ayrı ayrı seslendirerek bir klasöre kaydet a.wav b.wav c.wav vesaire vesaire ve odosyadan alarm süresince rastgele dosyaları çağır ve çaldır çağırımlar alarm süresi bitinceye kadar devam etsin işte bu kadar basit :wink:

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

istediğin tonda ve istediğin sürede ses çıkartabilirsin. Pascal daki kullanımıyla aynı..

Kod: Tümünü seç

//Kaynak : UDDF - Unoffical Delphi Developers FAQ
//Win9x için geçerli
//NT için ise Beep(Tone, Duration) kullanılabilir
procedure SetPort(address, Value:Word);
var
  bValue: byte;
begin
  bValue := trunc(Value and 255);
  asm
    mov dx, address
    mov al, bValue
    out dx, al
  end;
end;

function GetPort(address:word):word;
var
  bValue: byte;
begin
  asm
    mov dx, address
    in al, dx
    mov bValue, al
  end;
  GetPort := bValue;
end;

procedure Sound(Freq : Word);
var
    B : Byte;
begin
    if Freq > 18 then
        begin
            Freq := Word(1193181 div LongInt(Freq));
            B := Byte(GetPort($61));

            if (B and 3) = 0 then
               begin
                   SetPort($61, Word(B or 3));
                   SetPort($43, $B6);
               end;

            SetPort($42, Freq);
            SetPort($42, Freq shr 8);
        end;
end;

procedure NoSound;
var
  Value: Word;
begin
    Value := GetPort($61) and $FC;
    SetPort($61, Value);
end;
Kullanıcı avatarı
warder
Üye
Mesajlar: 255
Kayıt: 10 Mar 2004 04:59

Re: Ses üretme

Mesaj gönderen warder »

EYasin yazdı:Ben bir alarmlı saat yapmak istiyorum ama ama alarmın çalma zamanı geldiğinde bir ses dosyasını çalmasın sesi kendi üretsin bu mümkün mü?
yardımlarınızı bekliyorum Teşekkürler

**Birlikten kuvvet doğar**
Programın yanında ses dosyası taşımak istemiyorsanız resource olarak exe içerisine gömebilirsiniz.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
Cevapla