如何每15分钟在后台播放一次声音?

ebe*_*yer 3 command-line cron

我的 System76 桌面上有 Polk Hampden 扬声器。声音很棒,但如果大约 15 分钟没有声音播放,它就会进入省电模式,在大约 8 秒的音频再次播放之前不会播放声音。因此,无论我是否愿意,通知、来电等都会被静音。

polkaudio 论坛上的一个人在 Windows 上创建了一个脚本,每 15 分钟播放 20Hz 音调 10 秒,似乎可以解决该问题。

因此,我创建了一个持续 15 秒的 20 Hz .mp3 ( 20Hz.mp3),我安装mpg123并验证了此命令是否有效:

mpg123 ~/20Hz.mp3
Run Code Online (Sandbox Code Playgroud)

每 15 分钟在后台执行此命令的最佳方法是什么?

Pab*_*chi 6

如果您无法以某种方式减少这 8 秒,您可以生成声音并使用用户 cron 定期播放。不需要外部文件。

  1. 安装 sox、Sound eXchange、音频处理的瑞士军刀

    sudo apt install sox
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑您的用户 cron 表,进程调度守护进程

    crontab -e
    
    Run Code Online (Sandbox Code Playgroud)
  3. 添加此选项可以每 15'播放一次 10 秒 20 Hz(因此几乎听不见)的音调。

    */15 * * * *   XDG_RUNTIME_DIR=/run/user/1000 /usr/bin/play -n synth 10 sin 20
    
    Run Code Online (Sandbox Code Playgroud)

    id -u其中 1000 是您的用户 ID,或环境变量的输出$UID