경고음 함수(utilapiset.h)
스피커에 간단한 톤을 생성합니다. 함수는 동기식입니다. 경고 대기를 수행하고 소리가 끝날 때까지 해당 호출자에게 컨트롤을 반환하지 않습니다.
통사론
BOOL Beep(
[in] DWORD dwFreq,
[in] DWORD dwDuration
);
매개 변수
[in] dwFreq
소리의 빈도(헤르츠)입니다. 이 매개 변수는 37~32,767 범위(0x25~0x7FFF)에 있어야 합니다.
[in] dwDuration
소리의 지속 시간(밀리초)입니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
오래 전, 모든 PC 컴퓨터는 기본 사운드의 생성을위한 일반적인 8254 프로그래밍 가능한 간격 타이머 칩을 공유했다. 경고음 함수는 해당 하드웨어에서 경고음을 내보내기 위해 특별히 작성되었습니다.
이러한 이전 시스템에서 음소거 및 볼륨 컨트롤은 경고음영향을 주지 않습니다. 당신은 여전히 톤을들을 것입니다. 음색을 비추기 위해 다음 명령을 사용했습니다.
순 중지 경고음
sc config beep start= disabled
그 이후로 사운드 카드는 거의 모든 PC 컴퓨터에서 표준 장비가 되었습니다. 사운드 카드가 일반화됨에 따라 제조업체는 컴퓨터에서 이전 타이머 칩을 제거하기 시작했습니다. 또한 칩은 서버 컴퓨터의 디자인에서 제외되었습니다. 그 결과 경고음 칩이 없는 모든 컴퓨터에서 작동하지 않았습니다. 대부분의 개발자가 8254 칩 대신 기본 사운드 디바이스를 사용하는 MessageBeep 함수를 호출하기 시작했기 때문에 괜찮았습니다.
결국 통신할 하드웨어가 부족하여 마더보드 스피커의 소리 재생 지원이 Windows Vista 및 Windows XP 64비트 버전에서 삭제되었습니다.
Windows 7에서 경고음 세션의 기본 사운드 디바이스에 경고음을 전달하기 위해 다시 작성되었습니다. 이는 일반적으로 터미널 서비스에서 실행되는 경우를 제외하고 사운드 카드이며, 이 경우 경고음이 클라이언트에서 렌더링됩니다.
예제
다음 예제에서는 이 함수를 사용하는 방법을 보여 줍니다.
Beep( 750, 300 );
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | utilapiset.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |