728x90
반응형
보통 오류 발생할 때 비프음을 넣을 때까지 많은데 이번 팁은 지속적으로 어떤 행위를 하고 있는 중에 지속적으로 비프음을 발생시킬 때까지 있습니다. 이때 사용하는 팁을 공유합니다.
제가 원하는 것은 삐~~~~~~~~~~~~~~~~~~~~~~~~~익인데, 삐삐삐삐삐삐삐삐삐삐삐삐삐삐삐삐 형태로 나옵니다.
Duration을 길게 잡으면 되는데 이럴 경우 Beep함수에서 빠져나올 수가 없네요. 기본 제공되는 Beep클래스를 직접 구현한다면 가능할 것도 같습니다. 이것은 좀더 찾아보고 추가하겠습니다.
쓰레드 방식으로 구현한 다음 클래스를 추가합니다.
public class BeepSound
{
private int _ToneHz;
private int _gapMiliseconds;
private bool _stop = false;
public BeepSound(int TonHz, int gapMiliseconds)
{
if (TonHz <= 500) TonHz = 500;
if (gapMiliseconds <= 100) gapMiliseconds = 100;
_ToneHz = TonHz;
_gapMiliseconds = gapMiliseconds;
}
public void Start()
{
while (!_stop)
{
Console.Beep(_ToneHz, _gapMiliseconds);
}
}
public void Stop()
{
_stop = true;
}
}
Console.beep 함수를 클래스 형태로 Start, Stop이 가능하도록 구현한 클래스 입니다.
사용법은 다음과 같습니다.
BeepSound beeper = new BeepSound(1000, 300);
Thread thread = new Thread(new ThreadStart(beeper.Start));
thread.Start();
Thread.Sleep(5000);
beeper.Stop();
1000Hz를 300ms마다 발생시키고, 5초 후에 종료하라는 구문입니다.
이를 잘 응용하면 되겠죠?
그럼 이만!!!
반응형
'개발 > C#' 카테고리의 다른 글
[2022.09] 현재 경로 가져오기 고찰 (0) | 2022.09.26 |
---|---|
[2022.09] Dapper 클래스 고도화 (0) | 2022.09.22 |
[2022.09] 맥 어드레스를 이용한 라이선스 기법 (0) | 2022.09.20 |
[2022.09] Webhook API를 이용한 로깅기법 (0) | 2022.09.08 |
[2022.08] C# Dapper 불특정 테이블을 조회할 때 (0) | 2022.08.12 |