当声卡忙于 Google Hangouts 时,带有 espeak 的 crontab 不起作用

当声卡忙于 Google Hangouts 时,带有 espeak 的 crontab 不起作用

这个问题可能没有解决办法,但是问题仍然存在:)

  1. 我在 Ubuntu 14.04 上,使用最新的 Chrome 作为浏览器
  2. 我的声卡正忙于供 Google Hangouts 使用
  3. 我的 crontab 设置如下:

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

监控错误日志,我没有看到任何错误。但我也没有听到任何声音。当我退出 Hangouts 时,我开始每分钟听到扬声器中输出 espeak“hello”。

那么,espeak 或任何其他程序能否避免声卡繁忙这一事实?感谢您阅读此问题 :)

答案1

尝试这样的操作:

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

espeak 似乎需要 X 服务器。

答案2

espeak 可能试图直接访问声卡,而不是使用系统范围的音频服务器 (pulseaudio)。Pulseaudio 可以接受来自应用程序的多个流并将它们组合成单个输出。

使用:

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

请参阅这个答案:espeak 在 ubuntu 服务器上返回错误

您也可以尝试谷歌搜索“espeak pulseaudio”以获取更多信息。

相关内容