Pardus... Özgürlük Ýçin...
Ana sayfa İletişim adresi Abonelik

DTMF sinyallerini nasıl üretebilirim?

«Onceki Sayfa : Kylix’i çalıştırırken “Generating font matrix. Please wait… Couldn’t find usable fonts for this locale” hatası veriyor. Nasıl düzeltebilirim ? »
« Sonraki Sayfa : TV izlemek için kullanabileceÄŸim program tavsiye eder misiniz? »

Bir DTMF kodlayıcı. Komut satırından girilen rakamların tonlarını /dev/dsp aygıtına yönlendirir. Aşağıda kodu verilen dtmf.c dosyasını,
$ gcc dtmf.c -lm -o dtmf
ile derleyebilirsiniz.

#include
#include
#include

#define duration 800
#define pause 400

float col[] = { 1209.0, 1336.0, 1477.0, 1633.0 };
float row[] = { 697.0, 770.0, 852.0, 941.0 };
char positions[] = “123A456B789C*0#D”;

/* 8000 örnek/saniye, mono, 8 bit/örnek kabulüyle */
main(int argc, char *argv[]) {
int i;
char *ap, *cp;
float f1, f2, ri, ci;

if (argc != 2)
exit(1);
ap = argv[1];
while (*ap) {
cp = strchr(positions, *ap);
if (cp) {
ci = col[(cp - positions) % 4];
ri = row[(cp - positions) / 4];
for (f1 = 0.0, f2 = 0.0, i=3D0; i < duration;
i++, f1 += 6.28/8000.0*ri, f2 +=3D 6.28/8000.0*ci) {
putchar((sin(f1)*63.0) + (sin(f2)*63.0) + 128);
}
for (i = 0; i < pause; i++)
putchar(128);
}
ap++;
}
}

12345 (No Ratings Yet)
Loading ... Loading ...

ilgili Yazilar


  • nforce chipsetli anakartlarda görüntü ve ses nasıl alırım?
  • Scroll fareleri Xwindows’ta nasıl kullanırız?
  • PHP’de herhangi bir Web sayfasını nasıl epostayla yollayabilirim?
  • C ile program yazarken matematiksel iÅŸlevler kullanıyorum (sqrt, sin gibi), programımın en başında #include var, fakat program derlenirken /tmp/ccayiXgZ.o: In function `main’: /tmp/ccayiXgZ.o(.text+0×19): undefined reference to `sqrt’ ÅŸeklinde hata alıyorum, bu sorunu nasıl çözerim?
  • Standart kurulumda nvidia ekran kartımın 3D özelliklerini nasıl kullanırım?
  • QT kullanarak geliÅŸtirilen uygulamalar nasıl derlenir?
  • Belgeler
  • Php de Register Global Nasıl Aktif Edilir
  • Ben seni böyle sevdim
  • Paylasimli Sunucular Için Php Güvenligi - Fonksiyon Yasaklama


  • Toplam Okunma: 235 | Bugünkü Okunma: 4 | En Son Okunma: 05.02.2012 - 06:04