Возможно, не существует решения, но проблема, тем не менее:)
Мой crontab настроен так:
* * * * * espeak "hello" > /path/to/my/error.log 2>&1
Отслеживая журнал ошибок, я не вижу ошибок. Но я тоже не слышу ни звука. Когда я выхожу из видеовстречи, я начинаю каждую минуту слышать громкий «привет» из моих громкоговорителей.
Итак, может ли espeak или любая другая программа обойти тот факт, что звуковая карта занята? Спасибо за чтение проблемы :)
Попробуйте что-то вроде этого:
* * * * * export DISPLAY=:0 ; espeak "hello" > /path/to/my/error.log 2>&1
espeak, кажется, нужен X-сервер.
espeak, вероятно, пытается получить доступ к звуковой карте непосредственно, вместо того, чтобы использовать аудио сервер в масштабе всей системы (pulseaudio). Pulseaudio может принять несколько потоков из приложений и объединить их в единственный вывод.
Использование:
espeak -v en "Hello i am espeak" --stdout | aplay
См. этот ответ: espeak возвращает ошибку на сервере человечности
, можно также попытаться гуглить "espeak pulseaudio" для получения дополнительной информации.