在同时播放 ncmpcpp 时,mplayer 无法从 cron 播放音频

sta*_*ner 5 scripts cron mplayer mpd ncmpcpp

我已经设置了一个脚本,它执行一个 mplayer 命令,以便在 crontab 中播放音频。它将在特定的设置时间内执行,但是当 ncmpcpp(mpd 的前端,又名音乐播放器守护程序)正在播放音乐时,此脚本无法播放音频。但是当我从终端执行它时,这个脚本可以播放音频,如下所示:

sh bin/alarm.sh   
Run Code Online (Sandbox Code Playgroud)

我尝试从 crontab 或脚本获取输出,但无济于事。我猜 ncmpcpp 或 mplayer 中的某些设置是错误的,或者 mpd 正在使用与 crontab 的守护程序相同的守护程序。

  • 无论如何,我找不到解决方案。如果你知道,请帮助我。

aqu*_*erd 3

问题似乎是 mpd 默认在用户 mpd 下运行(作为系统守护进程),因此无法加入会话的脉冲音频混音器,因此它通过 alsa 甚至 oss 占用声卡输出。在我的回答中,我假设您已登录并且 crontab 是您的而不是系统 crontab。

MPD

根据您的优先级,您有很多选择,主要围绕教导 mpd 不要占用声音并使用pulseaudio 的想法。请参阅mpd 维基

播放器

ao=pulse您可以通过放置一行来将 mplayer 配置为默认为pulseaudio,~/.mplayer/config但pulseaudio应该可以通过其alsa插件很好地拾取它。