C# 控制主板蜂鸣器发声

 

在C#中可以通过以下四种方式来实现蜂鸣或者报警,播放声音之类的功能.XP下对蜂鸣有用,win7下请接上扬声器.

1). Beep的报警实现

 

// 添加引用
   using System.Runtime.InteropServices;  

   [DllImport("user32.dll")]
   public static extern int MessageBeep(uint uType);
   uint beepI = 0x00000030;  

    //发出不同类型的声音的参数如下:
    //Ok = 0x00000000,
    //Error = 0x00000010,
    //Question = 0x00000020,
    //Warning = 0x00000030,
    //Information = 0x00000040  

    // 然后在程序中调用
    MessageBeep(beepI);

2) 调用Microsoft.ViualBase中的Beep():
1.先引入命名空间:using Microsoft.VisualBasic;
2.调用:Interaction.Beep();
在编译时注意要引用Microsoft.VisualBasic.dll程序集,否则编译不能通过。
另外,如果是Console应用,可以用Console.WriteLine(”\a”);来代替Beep()。

3) 通过主板蜂鸣器发出蜂鸣

 

[DllImport("kernel32.dll", EntryPoint = "Beep")]
// 第一个参数是指频率的高低,越大越高,第二个参数是指响的时间多长
public static extern int Beep(
int dwFreq,
int dwDuration
);

 

4) 调用PlaySound(string pszSound,int hmod,int fdwSound)来播放声音

 

using System.Runtime.InteropServices;
然后声明:
[DllImport("winmm.dll")]
public static extern bool PlaySound(String Filename, int Mod, int Flags);
播放:
PlaySound(@"e:\Music\login.wav", 0, 1);      //把1替换成9,可连续播放

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注