如何使用C发出警报声?

如何使用C发出警报声?,c,audio,timer,notifications,libraries,C,Audio,Timer,Notifications,Libraries,我想做一个C程序,可以作为我的Pomotoro定时器。我有计时器部件,它在这里 #include<stdio.h> #include<unistd.h> int main(){ int sec; printf("\n Enter the no of minutes you need to wait :"); scanf("%d",&sec); sec *= 60; do { printf("\r%d ",s

我想做一个C程序,可以作为我的Pomotoro定时器。我有计时器部件,它在这里

#include<stdio.h>
#include<unistd.h>

int main(){
    int sec;
    printf("\n Enter the no of minutes you need to wait :");
    scanf("%d",&sec);
    sec *= 60;
    do {
        printf("\r%d ",sec);
        sec--;
        fflush(stdout);
        sleep(1);
    }while(sec>0);

    printf("\n Time Elapsed");
    return 0;
}
#包括
#包括
int main(){
国际秒;
printf(“\n输入需要等待的分钟数:”;
扫描频率(“%d”秒和“&sec”);
秒*=60;
做{
printf(“\r%d”,秒);
第二节;
fflush(stdout);
睡眠(1);
}而(sec>0);
printf(“\n经过的时间”);
返回0;
}

我只是在尝试代码,它工作得很好,一个周期可以有25和5个备用,但这会在以后出现。我想如果我能播放某种声音或发送通知会很好,但我不知道该怎么做,我正在网上搜索答案,但到目前为止我还没有找到合适的答案。如果我找到了解决方案,我保证会更新这个。如果有任何特别的图书馆,我应该看看,请把它放在评论。提前谢谢

\a
在字符常量或字符串中表示可听见的铃声。

但是,你可能需要打印一堆来真正听到它


正如在评论中指出的,您的终端/控制台实际上必须支持使用贝尔做一些事情。我仍然在X11上使用,它提供了以下选项:

启用可视铃声(
visualbell

启用(或禁用)可视铃声(即闪烁),而不是可听铃声。
这对应于
-vb
选项和
visualBell
资源

Windows平台:

Linux平台:或

PCM或WAV文件可通过上述API处理,以播放不同类型的报警音


注意:如果您想在某些情况下播放.wav文件,您需要单独处理wav标题。

打印一个钟形字符只会使其发出一次嘟嘟声。如果你想播放类似闹钟的声音,那么你需要使用一些音频库和一些mp3或wav文件。您需要使用音频库(例如pulseaudio)来播放mp3或wav文件,但也不能直接播放mp3或wav,您需要将它们转换为。*h文件,以便C程序播放它们。如果你愿意,我可以给你举个例子。问题是终端程序必须支持它。@P\u J\uu:没有争议。但是由于它是在C标准中特别调用的,所以它是非常可移植的。考虑到
#include
,可能与OP不相关,但请投赞成票!谢谢@jxh:只是没有检查POSIX头文件。添加了Linux平台的答案。
PlaySound("Filename.wav", NULL, SND_FILENAME);