C#에서는 Console.Beep() 메서드를 사용하여 콘솔 애플리케이션에서 간단한 경고음(비프음)을 손쉽게 재생할 수 있습니다. 이 메서드는 매개변수 없이 호출하면 기본 주파수와 길이로 소리를 내며, 주파수(Hz)와 재생 시간(밀리초)을 직접 지정해 사용자가 원하는 톤의 경고음을 만들 수도 있습니다.
지정할 수 있는 주파수 범위는 37Hz부터 32,767Hz까지이며, 재생 시간은 밀리초 단위로 설정합니다.
예제 1: 기본 경고음과 사용자 지정 경고음 재생
다음 예제는 매개변수 없이 기본 경고음을 재생하고, 이어서 주파수 1000Hz와 재생 시간 500밀리초를 지정하여 경고음을 재생합니다.
using System;
public class Demo {
public static void Main(string[] args){
Console.WriteLine("Displaying standard output stream...");
Console.WriteLine("Standard Output Stream = " + Console.Out);
Console.WriteLine("Beep sound through Console");
Console.Beep();
Console.WriteLine("Beep sound through Console with frequency 1000 hertz and duration 500 milliseconds");
Console.Beep(1000, 500);
}
}출력 결과
위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.
Displaying standard output stream... Standard Output Stream = System.IO.TextWriter+SyncTextWriter Beep sound through Console Beep sound through Console with frequency 1000 hertz and duration 500 milliseconds
예제 2: 반복문으로 경고음 여러 번 재생하기
이번에는 변수에 주파수와 재생 시간을 미리 저장한 뒤, for 반복문을 활용해 경고음을 연속으로 여러 번 재생하는 방법을 살펴보겠습니다.
using System;
public class Demo {
public static void Main(string[] args){
int freq = 1500;
int duration = 1000;
Console.WriteLine("Displaying standard output stream...");
Console.WriteLine("Standard Output Stream = " + Console.Out);
Console.WriteLine("Beep sound through Console");
Console.Beep();
Console.WriteLine("Beep sound through Console with frequency 1000 hertz and duration 500 milliseconds");
Console.Beep(1000, 500);
Console.WriteLine("Playing Beep sound 10 times...");
for (int i = 1; i < 10; i++)
Console.Beep(freq, duration);
}
}출력 결과
실행하면 기본 경고음과 지정된 경고음이 차례로 재생되고, 이후 주파수 1500Hz·재생 시간 1000밀리초의 경고음이 반복 재생됩니다.
Displaying standard output stream... Standard Output Stream = System.IO.TextWriter+SyncTextWriter Beep sound through Console Beep sound through Console with frequency 1000 hertz and duration 500 milliseconds Playing Beep sound 10 times...
참고: Console.Beep() 메서드는 Windows 환경에서 정상적으로 작동합니다. 일부 운영체제, 원격 데스크톱 환경 또는 특정 IDE에서는 시스템 사운드 설정에 따라 소리가 재생되지 않을 수 있으니 주의하세요.