发出连续的哔声,直到c#中断为止

时间:2015-09-04 11:53:01

标签: c# audio beep

我想在我的应用程序中发出连续的哔声,直到被打断为止。

方法

  1. 使用重试取消按钮
  2. 显示一个消息框
  3. 连续发出哔声,直到我按取消
  4. 如果按下重试哔声不应停止

  5. 我尝试使用Console.beep(),但它只发出一次声音。
    任何想法??

4 个答案:

答案 0 :(得分:3)

正如您所知道的,此方法有更多构造函数...您可以指定它frequencyduration

Console.Beep(100,10000);

您的案例的另一个建议是根据布尔变量循环它:

   bool stop = false;

        while (!stop)
        {
            Console.Beep();
        }

答案 1 :(得分:1)

Console.Beep();有两个参数,长度和音调。

使用如下:Console.Beep(tone_in_hz, length_in_milliseconds);

您还可以创建一个新线程和一个公共布尔值,然后运行while循环,如下所示:

private void Beeper()
{
    while(makeBeepSound)
    {
        Console.Beep();
    }
}

答案 2 :(得分:0)

试试这个

   public void Beep()
    {
        if (MessageBox.Show("Message", "Alert", MessageBoxButtons.RetryCancel) == DialogResult.Retry)
        {
                Console.Beep(5000, 5000);
                Beep();
        }
    }

在Form1加载事件

    private void Form1_Load(object sender, EventArgs e)
    {
        Beep();
    }

答案 3 :(得分:0)

将Beep()置于循环中并以新胎面开始。例如:

    class Beeper
    {
        private int _gapMiliseconds;
        private bool _stop = false;

        public Beeper(int gapMiliseconds)
        {
            _gapMiliseconds = gapMiliseconds;
        }

        public void Start()
        {
            while (!_stop)
            {
                Console.Beep();
                Thread.Sleep(_gapMiliseconds);
            }
        }

        public void Stop()
        {
            _stop = true;
        }
    }

以及作为线程启动和停止它的代码。

        Beeper beeper = new Beeper(100);
        Thread thread = new Thread(new ThreadStart(beeper.Start));
        thread.Start();
        Thread.Sleep(5000);
        beeper.Stop();