CyberPress
közéleti magazin
cyberpress@sopron.hu
2024. május 18., szombat, Erik, Alexandra napja


Irodalmi Kávéház

Intranet Galéria

Apróhirdetések

Képeslapok

Soproni Képindex

Polgármesteri Hivatal

ZÓNÁK
Főoldal
Lapszemle
  Lapszemle
Kultúra
  KultúrVáros
  Lélektől lélekig
  SzínházVilág
  Soproni Ünnepi Hetek
  Borváros
Regionális kulturális programajánló
  Színház
  Kiállítás
  Rendezvények
  Hangverseny-Zene
Cyber Kurír
  Hírek - események
  Szomszédvár - Régió
  Soproni Snassz
Európai Unió
  EU
Cyber hírek
  Közélet
  SopronMedia
  Városháza
  Sport
Szórakozás
  Fesztiválgájd
  HangFal
  Mi1más
  Diákélet - diákszáj
  ViccGödör
Gazdaság
  Kereskedelmi és Iparkamara
Sport - szabadidő
  Sportcentrum
  Száguldó Cirkusz
Tudomány-technika
  Űrvadász
  Egészség
Környezet
  Borostyán
  Egészség

Dr. Bit  

Hangok C-ben és C++ -ban

Hangok C-ben és C++ -ban

Bizonyára már te is találkoztál olyan programmal, amely egyszerű hangokkal figyelmeztetett valamire.(Ilyen lehet például valamilyen üzenetet kísérő csipogás.)

A számítógép többféle módon adhat ki hangokat, ugyanis (legalábbis majdnem minden gépben) van egy kis, beépített hangszoró, illetve lehet egy hangkártya is, külső hangszorókkal. A hangkártyák használata egy kicsit bonyolultabb, ezért ezekkel majd valamikor később foglalkozom majd, de ott van a beépített hangszoró, ami kiválóan alkalmas arra, hogy egyszerű hangokat, dallamokat lejátszunk vele. Ennek a használata nagyon könnyű C és C++ -ban. Van ugyebár nekünk egy sound() függvényünk a DOS.H -ban, ami megszólalatatja a hangszorót a paraméterként kapott frekvencián. A hang egészen addig szól, ameddig egy nosound() függvény nem kerül meghívásra. A DOS.H -ban van még (sok többi más függvény mellett) egy delay() utasítás, ami annyi ezredmásodpercet vár, amennyit paraméterként kapott.(1000 ezredmásodperc=1 másodperc) Itt van hát egy egyszerű példa, ami egy másodpercig 440 Hz-en szól:

/* sound1.c - Egy egyszeru pelda a sound() 
fuggveny hasznalatara */
#include <dos.h>
void main(void)
{
 sound(440);
 delay(1000);
 nosound();
}
Ha egymás után több hangot szeretnénk lejátszani, az is megoldható, csak több sound() utasítást kell egymás után:
/* sound2.c - Egy egyszeru pelda a sound() -al valo dallamlejatszasra 
*/
#include <dos.h>
#define WAIT 1000
void main(void)
{
  sound(440);
  delay(WAIT);

  sound(660);
  delay(WAIT);

  sound(1000);
  delay(WAIT);

  sound(5000);
  delay(WAIT);
  nosound();
}

(A #define egy állandó(konstans) értéket definiál fordítási időben)

Ha csak 'csipogtatni' akarsz, küldj ki egy 'a' -t a képernyőre!

#include <dos.h>
#include <stdio.h>
void main(void)
{
 printf("a");
}
Ez Windows alatt az egy csöngés, DOS alatt egy beep -elés.

Próbálkozz vele egy kicsit, nagyon jó dallamokat lehet vele kihozni. Megjegyzés: Lehet, hogy a hangszoró nem tud túl alacsony hangokat (általában 10Hz alatt) megszólaltatni.

Hát mostanra ennyi! A következő alkalommal a billentyűzetkezeléssel fogok foglalkozni.

PET



2000. jĂşnius 13., kedd 00:00


címlap zóna archívum




© 1999-2007, Internet Sopron Egyesület