编注:我们会不定期挑选 Matrix 的优质文章,展示来自用户的最真实的体验和观点。 文章代表作者个人观点,少数派仅对标题和排版略作修改。
许多安卓手机已经支持针对不同应用设置独立音量。虽然 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 版本:
打开App自动化 关闭App自动化
iOS 26 及之前版本:
打开App自动化文件版 关闭App自动化文件版
https://sspai.com/post/112983?utm_source=wechat&utm_medium=social
作者:谷雨G2rain
/产品推荐/
热门跟贴