如何在播放音乐时使讲话时钟(通过cron和节日tts)工作

自从过去11个月以来我切换到linux,我在ubuntu 15.04上,我学会了使用cron完成各种任务。

我每小时使用Cron通过节日tts(使用mbrolla语音)宣布时间。

这是我在cron中使用的命令(它保存为.sh脚本,其路径指向Cron)

echo "Its" `date "+%l O clock now"` | festival --tts 

问题是当播放音乐或video时它不起作用,但是在音乐停止或暂停后它会宣布时间。

我用Google搜索并发现为了能够多次访问声卡,必须使用aoss(alsa-oss)我安装了所需的alsa-oss包,​​并根据搜索结果修改了命令

 echo "Its" `date "+%l O clock now"` | aoss festival --tts 

但它仍然不起作用,如果我用aoss运行命令,它会给出一些错误,如下所示:

 ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/libaoss.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. 

我不知道这个错误是否与它有关。

Reddit中的某个人提到使用Alsa或Pulse-audio with festival并指向我的拱形论坛 ,声明要使用Alsa或Pulse-Audio我们必须编辑〜/ .festivalrc文件,或/usr/share/festival/festival.scm并添加一些行。

我添加了链接中提到的行,但它仍然没有解决我的问题

因此,我需要你们的帮助。 请帮助我纠正这个问题,以便即使在播放音乐或video时Cron也会宣布时间。

谢谢

根据这个答案: 我可以像高手钟一样使用cron来控制时间吗? 您需要在cron脚本中播放声音之前导出环境变量:

 export XDG_RUNTIME_DIR="/run/user/1000"