mp3 将使用 crontab 在指定时间自动运行。
*/10 7-21 * * * play /home/mo/document/1.mp3
*/10 7-21 * * * sleep 20;play /home/mo/document/2.mp3
*/10 7-21 * * * sleep 40;play /home/mo/document/3.mp3
'play' 安装了 sox。
问题是,当您观看 YouTube 时,crontab 不起作用。Crontab 启动的音频将不会播放,直到当前播放的音频流关闭。
我想让 crontab 命令即使您正在观看 youtube 也能发挥作用。
答案1
直接输出至当前运行显示屏
根据这篇文章:
当另一个声音应用程序运行时,sox 无法作为 cron 条目执行
从 cronjob 运行 sox/play 需要导出 DISPLAY 变量,就像从 crontab 运行 GUI 应用程序一样。只需将其添加export DISPLAY=:0 &&
到命令开头即可,如下所示:
*/10 7-21 * * * export DISPLAY=:0 && /usr/bin/play /home/mo/document/1.mp3
另外,请注意,处理 cronjobs 时最好使用绝对路径(/usr/bin/play),以免 cron 混淆。