Генерация системных звуков в Linux через программу c / c ++

0

Я захватываю кадры из камеры со скоростью 1 кадр за секунду в течение while(1) цикла.

Я хочу генерировать звуковой сигнал продолжительностью 100 мс в моей программе C каждый раз, когда определенное условие выполняется внутри цикла while(1).

Я попытался воспроизвести одноцветный.wav файл, используя aplay оболочки aplay, но это замедляет работу программы.

Есть ли альтернатива, которая занимает меньше времени?

Есть ли способ создать системные звуки (например, звук, который воспроизводится, когда мы нажимаем клавишу со стрелкой вправо в терминале) с помощью программы C/C++?

Отредактировано: Я могу генерировать звуковой сигнал, несмотря на внутренние динамики ПК, используя два метода:

Способ 1: Использование команды beep, позволяя делать записи на ПК:

sudo modprobe pcspkr

sudo beep

Способ 2: Использование команды: xkbbell -force

Но я не нашел решения, кроме aplay и paplay. Когда я пытаюсь воспроизвести звуковой файл с помощью этих команд, есть некоторая задержка после воспроизведения звукового файла и возврата элемента управления в оболочку.

  • 0
    У вас есть аппаратный PC speaker ? Если нет, вам нужно подражать
  • 0
    Как предложить путем ответа print ("\ a"); работает. Он эмулирует динамик ПК в Windows, наверняка будет делать то же самое в Linux (хотя и не подтвердить)
Показать ещё 1 комментарий
Теги:

1 ответ

2

Вы можете, например, распечатать символ колокола ASCII, чтобы получить звуковой сигнал.

printf("\a");
  • 0
    Не забудьте fllush ....
  • 1
    Это не работает. Звук не поступает через внешние / внутренние динамики. Программа просто тихо выходит.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню