Пример исходного кода для воспроизведения азбуки Морзе как звука не работает в Ubuntu:
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
const string S_DOT = "\a";
const string S_BAR = "\a\a\a";
inline void timeSleep(clock_t sec)
{
clock_t start_time = clock();
clock_t end_time = sec * 1000 + start_time;
while(clock() != end_time);
}//timeSleep
inline void shortPause()
{
timeSleep(1);
}//shordPause
inline void longPause()
{
timeSleep(2);
}//longPause
int main()
{
// SOS in Morse code
cout << S_DOT;
shortPause();
cout << S_DOT;
shortPause();
cout << S_DOT;
shortPause();
cout << S_BAR;
shortPause();
cout << S_DOT;
shortPause();
cout << S_DOT;
shortPause();
cout << S_DOT;
shortPause();
return 0;
}
Мои настройки звука должны быть в порядке, так как я могу открывать и слушать музыку (например, с YouTube). Не могли бы вы посоветовать?
Для tty
:
Загрузите драйвер для динамика ПК:
sudo modprobe pcspkr
Проверьте в alsamixer
, что динамик / звуковой сигнал ПК не приглушен, а громкость увеличена.
Переключитесь на tty1
: CTRL kbd> + ALT kbd> + F1 kbd> и проверьте звуковой сигнал:
echo -e '\a'
Если это работает, вы можете запустить вашу программу из tty.
Для X
:
В X
звуковой сигнал обрабатывается X, и pulseaudio должен издавать для него звук, но некоторые терминалы не воспроизводят звук, поэтому попробуйте его xterm
чтобы убедиться, что он не работает.