要点速览
  • 锁屏后,浏览器可能会被挂起。
  • 安装 PWA 并不保证音频能在后台播放。
  • 依赖整夜播放之前,请先在实际使用的设备上测试。

如何试用

睡前在准备使用的手机和浏览器上测试。保持标签页打开,仅在你愿意的情况下关闭省电设置,或使用提供专用播放控制的 SleepMix iPhone 应用。

  1. 点击播放,锁定手机,并在清醒时等待五分钟。
  2. 解锁手机,看看工具是否显示仍在播放,或提示你恢复播放。
  3. 如果声音停止了,可尝试使用已安装到主屏幕的版本或 SleepMix 应用进行整夜播放。

需要考虑的事项

此生成器无法更改系统的音频策略。可安装的 PWA 图标方便你重新打开网页,但不保证锁屏后能持续播放。

网页进入后台后会怎样

网页处于活跃状态时,生成器使用 Web Audio 播放声音。屏幕锁定或切换到其他应用时,浏览器和操作系统会决定该音频上下文是继续运行、暂停还是被中断。JavaScript 无法要求系统让网页在后台不间断运行。

Apple 的 WebKit 历史问题记录表明,Safari 标签页、主屏幕网页应用及不同 iOS 版本之间存在差异。因此,应在当前设备上测试,而不能承诺所有 iPhone 的表现都相同。

主屏幕图标不代表拥有原生音频权限

安装 PWA 会为网页添加一个图标和类似应用的窗口。其服务工作线程可以缓存网页文件,供下次离线访问,但在网页被挂起后,服务工作线程无法让 Web Audio 工作线程继续播放声音。

MDN 离线与后台操作指南说明,服务工作线程在不活跃时可能会被停止。离线缓存与持续播放声音是两种不同的功能。

按你睡觉时准备使用的方式测试

设置一个较短的定时,在清醒时点击播放并锁定手机。保持锁屏足够长的时间,观察音频是否持续播放。然后解锁,检查定时器状态是否仍与声音一致。连接蓝牙音箱或更换浏览器后,请再次测试。

如果夜间经常收到通知或来电,也请测试这些情况。即使单独锁屏不会影响播放,音频输出路径变化仍可能造成中断。

选择切实可行的备用方案

如果播放停止,可以在屏幕保持亮起时使用浏览器帮助自己安静下来,之后让房间恢复安静。专用 iPhone 应用具有为长时间播放设计的原生音频会话;此处提供 SleepMix 链接,供有此需求时使用。

任何应用或网站都无法承诺电池耗尽、音箱断开连接或设备设置绝不会中断声音。如果必须在某个时间醒来,请另设一个闹钟。

用简单的方法排查问题

检查浏览器是否通过点按打开、设备音量是否已调高,以及音频是否输出到预期设备。中断后,如果网页显示正在播放却没有声音,请停止后重新播放。不要反复调高音量来补偿已暂停的音频上下文。

如果浏览器更新后播放表现发生变化,联系支持人员时,请记录浏览器、iOS 版本和音频输出设备。这些信息比笼统地说定时器失效更有帮助。

睡前做个简短测试

打开网页。点击播放。调低音量。锁定手机几分钟。如果仍能听到声音,请解锁并测试来电或提醒。这个简单测试比声称所有手机表现都相同更能说明实际情况。如果声音中断,请计划仅在入睡前安静下来的这段时间使用此工具。

常见问题

将网站添加到主屏幕能解决这个问题吗?

这样做可以方便你重新打开工具,但无法更改操作系统的音频策略。

为什么在一个浏览器中能播放,在另一个中却不行?

浏览器引擎、设备设置和音频输出路径各不相同,更新后其表现也可能发生变化。

在 iPhone 上有什么可靠的替代办法?

SleepMix 等专用应用采用原生音频会话设计;不过,在重要的夜晚之前,仍应先测试你的设备。

参考来源