Кто нибуть знает как это зделать? Какие API вызывать и т.д. Нужно чтобы спикер пищал при нажатии заданой клавиши, облазил наверно весь интернет не нашел откуда содрать код если у кого какой пример есть дайте пожалуста.
Еще лучше Beep - позволяет задать частоту и длительность звука (NT Only). Код (Text): The Beep function generates simple tones on the speaker. The function is synchronous; it does not return control to its caller until the sound finishes. BOOL Beep( DWORD dwFreq, DWORD dwDuration ); Parameters dwFreq [in] Frequency of the sound, in hertz. This parameter must be in the range 37 through 32,767 (0x25 through 0x7FFF). Windows Me/98/95: The Beep function ignores this parameter dwDuration [in] Duration of the sound, in milliseconds. Windows Me/98/95: The Beep function ignores this parameter.
Код (Text): Еще лучше Beep - позволяет задать частоту и длительность звука Я так понимаю, речь идет о втроенном динамике... А как на счет внешних..? ) Можно ли там проворачивать те же приколы с частотой и длительностью..?
Thread Внешние динамики (если они есть) подключены к звуковой плате. Этот факт должен наводить на определённые мысли... Подсказка: виндовый MCI, который доступен через WINMM.DLL. Есть ещё Direct Sound...
Спасибо что откликнулись я нашел исходник на masm32 (как мне и надо было) но кажись в ХР не работает или его плохо слышно invoke MessageBeep,0FFFFFFFFh в дос программах звук был мощней пример: org 256 mov ah, 9 mov dx, text int 21h int 20h label text db 'Beep',7,'$'
А конкретнную процедуру которая работала бы в 98 и ХР может кто нибуть дать? Хоть у когото это получалось или все знают только по наслышке?
CyberDoom MessageBeep работает на всех виндах за исключением тех редких случаев, когда динамик физически отсутствует. Сильно тихо? Ну, можно заставить бибикнуть консоль (см. пример), хотя не факт, что она запищит громче, чем стандартный MessageBeep. Код (Text): WriteConsole(hStdOut,"\x7",1,&aux,0);
А как бибикнуть в DirectSound? например, сгенерив a*sin(b*t), t-время. собственно, как это потом занести в буфер?
Вот рабочая прцедура для винХР(главно правельно всунуть) push 100h push 250h call Beep (greet ALx) но в вин98 не пашет