2021年3月

man 5 launchd.plist 可以看出不指定 ProcessType 时,系统会限制后台服务的 CPU 使用率和 I/O 带宽,严重影响对低延迟和 I/O 有要求的无损音频播放。添加 <key>ProcessType</key><string>Interactive</string> 后一般可以解决卡顿问题。

如果修改 plist 仍不能解决问题,可以考虑以下两个 mpd.conf 的 buffer 配置。其中 buffer_time 有个副作用是暂停播放后缓冲区内的音频会继续播放,所以不能配置太长。

audio_buffer_size "8192"
audio_output {
        type    "ao"
        name    "default"
        options "buffer_time=600"
}

参考 https://github.com/MusicPlayerDaemon/MPD/issues/72