외부 스피커없이 C #에서 컴퓨터의 내부 스피커 신호음을 어떻게 만들 수 있습니까?
답변
.Net 2.0에서는 Console.Beep ()을 사용할 수 있습니다.
// Default beep
Console.Beep();
신호음의 빈도와 길이를 밀리 초 단위로 지정할 수도 있습니다.
// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);
자세한 내용은 http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx를 참조하십시오 .
답변
상대적으로 사용되지 않는 다음을 사용할 수도 있습니다.
System.Media.SystemSounds.Beep.Play();
System.Media.SystemSounds.Asterisk.Play();
System.Media.SystemSounds.Exclamation.Play();
System.Media.SystemSounds.Question.Play();
System.Media.SystemSounds.Hand.Play();
이 사운드에 대한 문서는 http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx 에 있습니다 .
답변
해결책은 다음과 같습니다.
Console.Beep
답변
이 시도
Console.WriteLine("\a")
답변
이 확인되고 Windows 7 및 최신 버전 (적어도 64 비트 또는 둘 다) 시스템 스피커를 사용하지 않는 기본 사운드 장치로 대신 그들은 경로 호출.
따라서 system.beep()
win7 / 8 / 10에서 사용하면 내부 시스템 스피커를 사용하여 사운드가 생성되지 않습니다. 대신 사용 가능한 경우 외부 스피커에서 신호음이 울립니다.
답변
나는 나 자신을위한 해결책을 찾는 동안이 질문을 만났다. kernel32 항목을 실행하여 시스템 경고음 기능을 호출하는 것을 고려할 수 있습니다.
using System.Runtime.InteropServices;
[DllImport("kernel32.dll")]
public static extern bool Beep(int freq, int duration);
public static void TestBeeps()
{
Beep(1000, 1600); //low frequency, longer sound
Beep(2000, 400); //high frequency, short sound
}
이것은 powershell을 실행할 때와 동일합니다.
[console]::beep(1000, 1600)
[console]::beep(2000, 400)