Rovat: Dr. Bit
2001. november 20., kedd 12:48
Programozzunk együtt! A beépített hangszóró
A beépített hangszóró A PC-kben általában van egy kis hangszóró - beépítve a házba. Ennek kezelését a "dos.h"-ban lévő "sound()", és "nosound()" utasításokkal vezérelhatjük - hogy melyik mit csinál, az szerintem elég egyértelmű... Nos, a következő példában nem teszünk mást, mint ezeket + a "delay()"-t (=várakkozás x ezredmásodpercig) használjuk. A "voice_delay[]" tömb tartalmazza a frekvenciát és az utána következő várakozási időt - ha ez nulla, akkor a program kilép. A progi amúgy a "Yankee Doodle"-t játsza le. #includeint voice_delay[]={ 262, 6, 262, 6, 293, 6, 329, 6, 262, 6, 329, 6, 293, 6, 196, 6, 262, 6, 262, 6, 293, 6, 329, 6, 262, 12, 262, 12, 262, 6, 262, 6, 293, 6, 329, 6, 349, 6, 329, 6, 293, 6, 262, 6, 246, 6, 196, 6, 220, 6, 246, 6, 262, 12, 262, 12, 220, 6, 246, 6, 220, 6, 174, 6, 220, 6, 246, 6, 262, 6, 220, 6, 196, 6, 220, 6, 196, 6, 174, 6, 164, 6, 174, 6, 196, 7, 220, 6, 246, 6, 220, 6, 174, 6, 220, 6, 246, 6, 262, 6, 220, 7, 196, 6, 262, 6, 246, 6, 293, 6, 262, 12, 262, 12, 0, 0 }; void main(void) { int counter=0; int voice, wait; cprintf("Playing 'Yankee Doodle' - Press any key to exit!"); voice=voice_delay[counter]; wait=voice_delay[counter+1]; do { sound(voice); delay(wait); counter++; voice=voice_delay[counter]; wait=voice_delay[counter+1]; } while(voice!=0 && !kbhit()); nosound(); } (A program ötletét és a "Yankee Doodle" hangsorozatát az Agárgi Gábor: Gyakorlati Assembly c. könyvéből vettem és írtam át C-re.) |