crontab с espeak не работает, когда звуковая карта занята тусовками в гугле

Возможно, не существует решения, но проблема, тем не менее:)

  1. Я нахожусь на Ubuntu 14.04, использую последний Chrome в качестве браузера
  2. Моя звуковая карта занят в Google Hangouts
  3. Мой crontab настроен так:

    * * * * * espeak "hello" > /path/to/my/error.log 2>&1
    

Отслеживая журнал ошибок, я не вижу ошибок. Но я тоже не слышу ни звука. Когда я выхожу из видеовстречи, я начинаю каждую минуту слышать громкий «привет» из моих громкоговорителей.

Итак, может ли espeak или любая другая программа обойти тот факт, что звуковая карта занята? Спасибо за чтение проблемы :)

1
задан 25 January 2019 в 22:45

2 ответа

Попробуйте что-то вроде этого:

* * * * * export DISPLAY=:0 ; espeak "hello" > /path/to/my/error.log 2>&1

espeak, кажется, нужен X-сервер.

4
ответ дан 25 January 2019 в 22:45

espeak, вероятно, пытается получить доступ к звуковой карте непосредственно, вместо того, чтобы использовать аудио сервер в масштабе всей системы (pulseaudio). Pulseaudio может принять несколько потоков из приложений и объединить их в единственный вывод.

Использование:

espeak -v en "Hello i am espeak" --stdout | aplay

См. этот ответ: espeak возвращает ошибку на сервере человечности

, можно также попытаться гуглить "espeak pulseaudio" для получения дополнительной информации.

2
ответ дан 25 January 2019 в 22:45

Другие вопросы по тегам:

Похожие вопросы: