Как создать звуковой сигнал с помощью символа "\ a"?
Если я напишу следующую программу, то при запуске кода не будет звукового сигнала.
#include <stdio.h>
int main()
{
printf("\a");
return 0;
}
Можете ли вы рассказать мне, как использовать \a
для создания звукового сигнала с помощью программы C?
Ответы
Ответ 1
Единственное, что неправильно (наполовину неправильное) с вашей программой - main
подпись.
Чтобы быть портативным на 100%, он должен быть int main(void)
или int main(int argc, char **argv)
или эквивалентен: int main()
не эквивалентен.
И я также напечатал '\n'
или сбросил выходной буфер, вместо того, чтобы полагаться на время выполнения, автоматически очищающее все буферы, но ваша программа должна звучать как звонок. Если проблема не в другом месте, не с C
.
#include <stdio.h>
int main(void)
{
printf("\a\n");
return 0;
}
Ответ 2
Я согласен с @Steve Jessop. Люди будут стараться держать свои компьютеры в тишине.
В Windows: в качестве альтернативы "\ a" вы можете использовать команду WinAPI Beep. Если вы используете Windows 7, это может работать не так, как ожидалось.
Звуковая функция (Windows)
Ответ 3
Если вы используете Windows, версии Windows делают звуковой сигнал очень разными способами. Некоторые из них позволяют это и работают нормально, но некоторые версии Windows этого не делают. В некоторых окнах он работает именно так, если у вас есть внутренний динамик материнской платы. Но некоторые другие окна, он отлично работает без внутреннего динамика материнской платы, прямо со звуковой карты (это было бы неплохо!).
Если вам повезет, и с помощью соответствующей версии Windows будет работать beep/Beep/printf ( "\ a" ) (на внутреннем динамике (если есть) или в лучшем случае через звуковую карту). Но если вы используете другую версию Windows, это не сработает. Если на вашем компьютере все в порядке, ваш друг/член семьи будет молчать, и он/она подумает, что вы написали плохую программу: -D, но не.
Мой совет, что вы должны использовать библиотеку для аудио. Он простой, кросс-платформенный, и он будет всегда работать всегда все компьютеры и т.д. Например, Allegro_v4, Allegro_v5, SDL (Simple DirectMedia Layer) или что-то в этом роде. Эти библиотеки отлично работают с OpenGL/DirectX, и с помощью этих библиотек вы можете загружать изображения, воспроизводить видео и тому подобное. Native OpenGL/GLUT/DirectX не может так поступать.
Ответ 4
Я обычно использую другой способ получить звуковой сигнал, который работает на Windows 7 на 100%.
int x=7; //7 is beep sound other numbers may show emoji and characters
printf("%c",x);
Ответ 5
#include<stdio.h>
#include<windows.h>
int main()
{
Beep(1000, 1000); /* you can use any number starting from 250, but make sure you use it both times
return 0;
}