ton ausgabe
-
stiffmaster11 schrieb:
oder..??
kann mir bitte jemand helfen???
mfgSorry, ich hatte auf der Arbeit viel zu tun, das war wichtiger.
Vielleicht hilft dir das weiter:
Dazu müsstest du aber auf die WinAPI ausweichen (32-Bit-Konsolen-Anwendung). es spricht aber nix dagegen, da du dein Programm ja sowieso unter Windows startest.
-
habe nach geschaut, dort sind aber mehrere methoden aufgelistet!
welche soll ich verwenden und wie verwende ich diese dann??am besten wärs wenn ihr bitte gleich den ganzen code reinstellen könnt!!
bitte!danke im vorhinein..
mfg
-
Hallo!
Mein Piano hab ich folgendermassen gemacht.
Das Problem ist das Beep() nicht asynchron ist und man als Spieldauer nicht "bis auf weiters" eingeben kann, aber vielleicht hast du ja eine Idee, wie man das lösen könnte...//* sound.h *// #ifndef ____SOUND_H____ #define ____SOUND_H____ #include <windows.h> namespace snd { BOOL t; BOOL f=TRUE; DWORD fr; DWORD WINAPI BeepThread(LPVOID _d) { if(f) { t=TRUE; f=FALSE; } while(!t); while(t) { Beep(*((DWORD *)_d),128); } t=TRUE; return 0; } void beep(unsigned long _f) { fr=_f; t=FALSE; CreateThread(0,0,BeepThread,&fr,0,NULL); } } #endif
#include <conio.h> #include "sound.h" int main(void) { while(1) { double f; switch(getch()) { case 'a' : f=440.00; break; case 's' : f=493.87; break; case 'd' : f=523.25; break; case 'f' : f=587.34; break; case 'g' : f=659.25; break; case 'h' : f=689.50; break; case 'j' : f=784.00; break; case 'k' : f=880.00; break; case 0x1b : // 0x1b -> Escape return 0; default : continue; } snd::beep((unsigned long)f); } }
-
wie ist beep() eigentlich definiert!?? welche werte stehen zwischen den klammern??
mfg
-
Schaust du hier!
-
Übrigens:
Vielleicht weiss ja hier jemand, wie man einen bestimmten Thread einfach so abschiessen kann, das würde das Problem, dass Beep nicht asynchron ist, lösen...Ich denke mit TerminateThread müsste es wohl funzen, aber ich krieg's halt irgendwie nicht klar.
-
pharmacy;
-
könnte bitte jemand den gesamten code reinstellen..??
bitte!!!!
mfg