【问题标题】:How can I change '\a' sound?我怎样才能改变'\a'的声音?
【发布时间】:2020-07-07 12:01:19
【问题描述】:
#include<iostream>
#include<conio.h>
#include<windows.h>
using namespace std;
int main()
{
    while(getch()!=27){
        cout << "\a\n";
        Sleep(500);
    }
    return 0;
}

我听说我可以更改“\a”提示音。 现在是回声,但我想改变它。 我该怎么办?

更多问题:改变声音的方式是否因每个开发环境而异?

附:我现在正在使用 Code::Blocks

【问题讨论】:

  • 这通常是通过更改您正在使用的终端程序或操作系统中的“铃声”声音来完成的。我不知道有任何使用字符代码的方法。
  • 也许你可以......也许你甚至可以用 C(或 C++)程序来做到这一点......但这不是直截了当的。当您putchar('\a');(或其任何变体)时会发生什么,即字符最终被发送到操作系统并从操作系统发送到输出设备。是输出设备选择将其“表示”为可听信号。
  • 这完全取决于您的操作系统、终端等。C++ 只是将控制字符发送到终端,它会做(或不做)它想做的任何事情。见stackoverflow.com/questions/3456138/…
  • 看起来像 Windows。您可以改用PlaySound function
  • 因此,换句话说,用您正在使用的操作系统和终端标记您的问题,然后将其移至 SuperUser 以了解如何更改该操作系统/终端上的铃声;但是,首先检查该问题是否已被提出/回答。

标签: c++ operating-system codeblocks


【解决方案1】:

是的,你可以这样做,你可以使用windows.h中的Beep(),如图所示:

#include <windows.h>

int main(void) {
    Beep(500, 500);

    return 0;
}

数量与频率成正比关系,即

  • 频率较低(如 400, 400) - 400 毫秒(0.4 秒)内的声音较小
  • 更多频率(如1000, 1000)- 1000 毫秒(1 秒)内更多声音

编辑:没有改变铃声的正确方法。这完全取决于操作系统。您可以使用Beep() 生成一些不同频率的唯一方法,这些频率听起来与\a 转义序列产生的正常哔声不同。

【讨论】:

  • 对不起,我不想使用哔声功能。有什么方法可以使用 '\a' 改变提示音吗?
  • @kbk0421 不,这是您可以使用的最佳方法。 \a 取决于操作系统。在 Windows 中听起来会有所不同,在 Unix 中会有所不同。
  • @kbk0421 我已经更新了答案。阅读编辑部分。
  • 好的,你的意思是我不能在我的开发环境中改变它,对吧?感谢您回答我的问题:)
  • 感谢您回答我的问题 :)
猜你喜欢
  • 2022-10-01
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多