Mac睡眠时局域网音乐共享中断,因默认切断网络服务、挂起音频并停止Bonjour广播;需开启“唤醒以供网络访问”并配置服务后台存活策略(如Amphetamine或caffeinate)才能保持AirPlay、iTunes Server等持续在线。

Mac系统进入睡眠后,局域网内其他设备访问共享音乐库时会中断连接或卡顿,是因为默认状态下Mac睡眠会切断网络服务、挂起音频子系统并停止Bonjour广播。必须启用「唤醒以供网络访问」并确保共享服务在低功耗下持续响应,才能让AirPlay、iTunes Server或第三方音乐服务(如Subsonic、Navidrome)保持在线。
启用系统级网络唤醒功能
这一步是基础前提,不开启则后续所有共享设置都无效——Mac睡眠后根本不会响应任何网络请求。
点击左上角苹果菜单 → 选择“系统设置” → 左侧边栏滚动到底部,点按“电池”(笔记本)或“能源”(台式机)。
在右侧找到“唤醒以供网络访问”选项,点击其旁边的开关,将其设为【开启】。若为笔记本,请务必已接入电源适配器;若使用Wi-Fi,需确认无线设备支持802.11n及以上且固件为最新版本。
注意:该选项在“电池供电时”和“接通电源时”两个标签页下均需开启,否则仅插电时有效,合盖移动场景会失效。
配置音乐共享服务的后台存活策略
iTunes/Music.app原生共享、Navidrome、Subsonic等服务在系统睡眠时容易被系统终止进程,需强制绑定唤醒条件。
方法一:用Amphetamine精准绑定服务进程
打开Amphetamine → 点击+新建会话 → 在“条件”中选择“当App正在运行时”,下拉菜单选中“Music”或你的服务对应进程名(如navidrome)→ 勾选“防止显示器关闭”,取消勾选“当显示器关闭时允许系统睡眠” → 点击“开始会话”。
方法二:终端命令维持服务活跃(适用于Navidrome/Subsonic等CLI服务)
在终端中执行:caffeinate -w $(pgrep -f "navidrome") 或 caffeinate -w $(pgrep -f "subsonic")。该命令会让系统识别该进程为“需保持活跃”的任务,即使睡眠也会维持其内存与网络句柄。
验证共享服务在睡眠状态下的可用性
第一步:在Mac上开启音乐共享(如Music.app中开启“共享我的资料库”或启动Navidrome服务)。
第二步:用另一台设备(iPhone/iPad/Mac)通过同一局域网访问该共享服务,确认能正常浏览曲库、播放试听。
第三步:在Mac上手动触发睡眠(Apple菜单 → 睡眠),等待约30秒。
第四步:在客户端设备上尝试继续播放或切换歌曲——若无缓冲卡顿、曲目列表实时更新、播放进度连续,则说明配置成功。
第五步:打开Mac屏幕,检查系统日志:在“控制台”中筛选关键词“Wake reason”,出现“RTC”或“Ethernet/WiFi”表示确由网络请求唤醒,而非误触键盘/鼠标。


















