Câu trả lời:
Trong .Net 2.0, bạn có thể sử dụng Console.Beep ().
// Default beep
Console.Beep();
Bạn cũng có thể chỉ định tần suất và độ dài của tiếng bíp tính bằng mili giây.
// Beep at 5000 Hz for 1 second
Console.Beep(5000, 1000);
Để biết thêm thông tin, hãy tham khảo http://msdn.microsoft.com/en-us/library/8hftfeyw%28v=vs.110%29.aspx
Beep()
các tần số thông qua loa ngoài. Tuy nhiên, +1 cho phần nội bộ, tôi chưa bao giờ nhận ra điều đó.
Bạn cũng có thể sử dụng tương đối không sử dụng:
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();
Tài liệu về âm thanh này hiện có trong http://msdn.microsoft.com/en-us/library/system.media.systemsounds(v=vs.110).aspx
Giải pháp sẽ là,
Console.Beep
Thử cái này
Console.WriteLine("\a")
Người ta xác nhận rằng Windows 7 và các phiên bản mới hơn (ít nhất là 64bit hoặc cả hai) không sử dụng loa hệ thống và thay vào đó chúng định tuyến cuộc gọi đến thiết bị âm thanh mặc định.
Vì vậy, sử dụng system.beep()
trong win7 / 8/10 sẽ không tạo ra âm thanh bằng loa hệ thống bên trong. Thay vào đó, bạn sẽ nhận được âm thanh bíp từ loa ngoài nếu chúng khả dụng.
Tôi vừa bắt gặp câu hỏi này khi đang tìm kiếm giải pháp cho chính mình. Bạn có thể cân nhắc việc gọi hàm tiếng bíp của hệ thống bằng cách chạy một số thứ trong 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
}
Điều này giống như bạn sẽ chạy powershell:
[console]::beep(1000, 1600)
[console]::beep(2000, 400)