许多安卓手机已经支持针对不同应用设置独立音量。虽然 iOS 在系统设计上可能有不同的考量,但在一些实际使用场景中,应用独立音量控制仍然有一定需求。
例如:短视频App需要较低音量,避免突然出现过大的音乐;
视频 App 希望保持较高音量,增加沉浸感;
音乐播放器希望使用固定音量;
睡前听书或播客时希望音量自动降低。
虽然 iOS 系统本身没有提供“按 App 单独设置音量”的功能,但通过快捷指令的自动化,可以实现类似的效果:打开某个 App 时自动切换到指定音量,关闭 App 后恢复之前的音量。
iOS 27 为快捷指令增加了新的储存功能,可以让快捷指令在内部保存持久化数据,并在之后继续读取。相比以前只能依靠剪贴板、备忘录、文件等方式保存数据,储存空间更加适合保存配置、列表和状态信息。能够直接保存和读取数据,使快捷指令具备类似数据库的能力,更加方便的进行数据管理。
指令的储存功能提供了全局值选项,关闭全局值,储存的内容只能在当前指令中储存读取;打开全局值,任何指令都可访问和更改。
本文中的独立控制音量功能是两个指令配合使用,所以在27版本的指令中的所有储存相关操作都开启全局值。
同时,我也制作了一个兼容 iOS 27 之前版本的方案,通过文件读写实现相同逻辑。
工作原理
整个系统由两个自动化组成:
打开 App 时

打开 App自动化运行时:
将当前的媒体音量进行保存,以便后续退出App时恢复。

储存当前 App 名称,退出App时才能知道退出的是哪个App。

从储存空间中获取该 App 对应的音量。

将媒体音量设置为该 App 保存的音量。

关闭 App 时

关闭 App自动化运行时:
获取打开App自动化时保存的App名称。

在使用App时调整过音量,退出App时自动获取当前调整后的音量进行保存。

重新获取之前保存的媒体音量恢复进入 App 前的原始音量。

这样,下次打开对应 App 时,就会使用上一次保存的音量。
在这个快捷指令中,App 名称+音量作为数据索引,音量数值作为保存内容。
结构简单,不需要额外创建文件,也更适合长期运行的自动化。
兼容 iOS 27 之前版本:使用文件储存
由于储存空间是 iOS 27 新增功能,旧版本系统无法使用。
为了兼容 iOS 27 以下版本,将储存部分替换为文件操作:
储存内容 → 保存文件
获取已储存内容 → 从文件夹获取文件
整体逻辑保持不变,只是数据保存方式不同。
文件会存放在快捷指令的Shortcuts文件夹中。
保存文件打开文件存在则覆盖,否则同名文件会不断增加无法获取更新后的音量信息。


获取App音量文件的操作需要关闭未找到时报错。关闭App自动化会生成该文件,但是第一次打开App时,文件不存在。若打开未找到时报错,指令会出现报错信息。




一个重要设置

指令使用前需要关闭:
设置 → 声效与触感反馈→ 用按钮调整
快捷指令的获取设备的详细信息操作中能获取当前音量,但是没有提供铃声和媒体音量的选择。早期设定音量也没有做区分,现在已经更改,希望苹果对获取当前音量早些进行补充。
目前如果开启用按钮调整铃声,快捷指令的当前音量只能获取铃声音量,而不是媒体音量。只能通过关闭用按钮调整铃声的功能,让快捷指令获取媒体音量,本文指令才能顺利使用。
局限
设置好指令后,第一次打开对应App,音量会自动归零,需要手动调整。
每次开启或关闭App自动调整音量时,音量条都会出现。
指令链接
iOS 27版本:
iOS 26及之前版本:
