C# 控制蜂鸣器发声

2020-04-1009:56:48来源:弦舞西窗 评论 2,045 views

偶正做一项目中需要报警功能,但通常怕客户电脑上没有声卡或音响,所以根据指定声音声卡报警的同时让蜂鸣器也发出声音.下面是完整的代码,测试通过(个人习惯,通常不喜欢把声明和使用放在一个类中).

声明:

 public class APIs
 {
     [DllImport("Kernel32.dll")]
     public static extern bool Beep(int frequency, int duration);
 }

实现:

/// <summary>
/// 蜂鸣器发声 (非零)表示成功,否则返回零。会设置GetLastError
/// </summary>
/// <param name="iFrequency">声音频率(从37Hz到32767Hz)。在windows95中忽略</param>
/// <param name="iDuration">声音的持续时间,以毫秒为单位。如为-1,表示一直播放声音,直到再次调用该函数为止。</param>
public static bool Beep(int iFrequency, int iDuration)
{
    return APIs.Beep(iFrequency, iDuration);
}

调用(我随便找了个方法测试,其实就是个按钮事件):

private void btnCancel_Click(object sender, EventArgs e)
{
    if (common.Beep(3000, 5000))
    {
        MessageBox.Show("成功");
    }
    else
    {
        MessageBox.Show("失败");
    }
    //this.Close();
}
历史上的今天
4月
10

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: