我正在尝试制作一个包含哔声的程序.我在32位Windows Vista上工作.我正在使用在GNU编译器上运行的Code :: Blocks IDE.我的示例代码是 -
#include <stdio.h>
#include <windows.h>
#include <dos.h>
int main(void)
{
Beep(750, 300);
printf("\n \n \t This is a dummy program for Beep.");
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在互联网上,我读到我们也可以在printf中使用\ a来发出哔哔声.我试过了,但它没有用.我检查了我的扬声器和声卡.一切都很完美,但我听不到哔哔声.即使我在示例代码中显示的方法也不起作用.
这是我的 C 代码。
#include <stdio.h>
int main(){
printf("\a\n");
printf("Startled by the sudden sound, Sally shouted, \"By the Great Pumpkin, what was that!?\"");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
据说,“\a\n”应该发出警报,对吗?然而,出于某种原因,它并没有这样做。我在 Ubuntu Zesty 上,bash 命令beep确实发出哔哔声,但echo -e '\a'没有,所以我不确定问题到底是什么。
提出这个问题是因为其他这样的问题最终没有产生对我来说足够详细/可以理解的答案,或者有一个完全不同的问题,其解决方案不适用于我。
坦率地说,上面链接的帖子的答案太模糊了。“问题不在于 C,而在于别的东西。” 根本没有帮助。
更新:以防万一其他人偶然发现了这一点,这是问题所在:我有 GNOME,因此 WM 是 Gnome-Shell。既然是这样,我就不得不打开声音设置,转到警报,启用它们,并调高音量。我从来没有注意到外壳本身可能是问题所在。在跑步后metacity --replace突然能够听到警报后意识到这一点。