我想在应用程序中发出连续的嘟嘟声直到中断。
方法发出连续的嘟嘟声,直到c中断#
- 显示与重试一个消息框,取消按钮
- 制作蜂鸣继续发声,直到我按取消
- 如果按重试哔声不应该停止
我试过这个使用Console.beep(),但它只发出一次声音。
任何想法??
我想在应用程序中发出连续的嘟嘟声直到中断。
方法发出连续的嘟嘟声,直到c中断#
我试过这个使用Console.beep(),但它只发出一次声音。
任何想法??
如你所知,当然,这种方法有多个构造...你可以指定它的frequency
和duration
:
Console.Beep(100,10000);
为你的情况另一个建议就是循环根据布尔变量是:
bool stop = false;
while (!stop)
{
Console.Beep();
}
@Jamiec 我曾试过这个,但第二个参数是有时间限制的,我的大四不满意。他想继续玩下去。 –
@GajendraRajput你的意思是永远玩吗? infinitly? – Slashy
点击取消时应停止的种类。 –
Console.Beep();
有两个参数,长度和音调。
使用这样:Console.Beep(tone_in_hz, length_in_milliseconds);
您还可以创建一个新的线程和公共布尔,然后运行一个while循环,就像这样:
private void Beeper()
{
while(makeBeepSound)
{
Console.Beep();
}
}
试试这个
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();
}
它没有帮助。 –
将嘟嘟声()放在一个循环中,并以新的方式启动它。例如:
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();
您提供的解决方案没有帮助 –
您的用户将喜欢该功能。 – CodeCaster
你可以发表一些代码吗? – Marcus
这应该有所帮助:http://stackoverflow.com/questions/1195828/c-produce-a-continuous-tone-until-interrupted – ken2k