首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"\a“和Console.Beep()方法会播放相同的beep吗?

"\a“和Console.Beep()方法会播放相同的beep吗?
EN

Stack Overflow用户
提问于 2013-02-10 13:50:31
回答 1查看 7.8K关注 0票数 7

\a是一个http://msdn.microsoft.com/en-us/library/h21280bw.aspx,它表示关于字符常量的钟式警报。从MSDN看Console.Beep()方法的解释

通过控制台扬声器播放蜂鸣声。

让我们考虑下面的示例代码:

代码语言:javascript
复制
public static void Main(string[] args)
{
     Console.WriteLine("\a");
     Console.Beep();
}

这段代码会产生2个蜂鸣声,对我来说听起来也是一样。现在我要看证据。

当我对Console.Beep()方法进行分解时,它使用内核32.dll中的Win32Native.Beep

代码语言:javascript
复制
public static void Beep(int frequency, int duration)
{
    Win32Native.Beep(frequency, duration);
}

他们的频率和持续时间可能是不同的,我没有说任何关于这些东西,但他们的来源是否相同(Win32Native.Beep)?\a使用哪个源作为铃声警报?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-10 15:01:55

这是我从查看音频(Windows 7 64位(是的,我必须重新启动到windows,我是专用的:)所能收集到的)。我用Fraps录制了音频,所以应该是可靠的。

这是我用来检查它们的代码:

代码语言:javascript
复制
using System;
using System.Threading;

namespace StackOverflow
{
    class Program
    {
        private static void Main(string[] args)
        {
            Console.Write("\a");
            Thread.Sleep(500);
            Console.Beep();
        }
    }
}

这是奥迪的两首曲目(Console.Write('\a')是上面的,Console.Beep()是下的)。

在我放大轨道的任何一点上,正弦波完全匹配,而且它们的持续时间完全相同,所以我不得不得出结论,它们实际上是相同的(在Windows 7上就是这样)。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14798426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档