一、前置说明(先看这一步,避免踩坑)
适用系统
- iOS 16 及以上(iOS 17/18 更稳)
- 已开启 iCloud Drive
- 「快捷指令」App 已允许访问 iCloud Drive
这个指令解决什么问题
-
一键切换:
- 第一次点:保存当前音量 → 静音
- 第二次点:恢复到上一次的音量
-
不依赖物理静音键
-
不会把音量"恢复成 50%"这种拍脑袋结果

二、创建快捷指令
- 打开 快捷指令 App
- 右上角 「+」
- 快捷指令名称建议:
一键静音 / 恢复
三、按顺序添加动作(核心部分)
动作 1:开关静音模式
- 搜索:
静音 - 选择:开关 静音模式
- 不用改任何参数
作用
- 控制系统响铃 / 通知层面的静音
- 不影响"媒体音量"的保存逻辑
动作 2:获取当前音量
- 搜索:
音量 - 选择:获取 当前音量
- 类型:默认(媒体音量)
系统会自动生成一个变量:当前音量
动作 3:如果判断(是否处于非静音)
-
搜索:
如果 -
条件设置:
- 如果
当前音量 - 大于
0
- 如果
四、【如果分支】------ 静音流程
子动作 3.1:保存当前音量到文件
-
搜索:
存储文件 -
选择:将 文件 存储
-
参数设置:
-
文件内容:
当前音量 -
存储位置:
iCloud Drive -
子路径:
/Shortcuts/SuperMuteVolume.txt -
关闭:询问保存位置
-
打开:如果文件存在则覆盖
-
这一条非常关键
- 它决定你"恢复"时能不能回到原来的真实音量
子动作 3.2:将媒体音量设为 0%
- 搜索:
设定音量 - 选择:将 媒体 音量设为
- 数值:
0%
到这里,"静音"逻辑完成。
五、【否则分支】------ 恢复流程
子动作 4.1:读取保存的音量文件
-
搜索:
获取文件 -
选择:从 iCloud Drive 获取文件
-
路径:
/Shortcuts/SuperMuteVolume.txt
系统会生成一个变量:文件
子动作 4.2:将文件内容转成音量变量
- 搜索:
设定变量 - 选择:将 变量 设为
- 名称:
保存的音量 - 值:
文件
这一步是为了让下一条「设定音量」能正确识别数值
子动作 4.3:恢复媒体音量
- 搜索:
设定音量 - 选择:将 媒体 音量设为
- 数值:
保存的音量
六、【强烈建议】加一个兜底判断(防止报错)
放在 否则分支中,读取文件之后
新增一个「如果」
条件
- 如果
文件 - 不存在
子动作
- 将 媒体 音量设为
50%
逻辑解释
-
防止你:
- 第一次就点"恢复"
- iCloud 文件被删
- 换新手机尚未同步完成
-
没有这个判断,指令会直接失败
七、最终逻辑总结(你自己也能检查)
点一次 → 有音量 → 保存音量 → 静音
再点 → 音量为 0 → 读取文件 → 恢复原音量
没有魔法,全是确定性行为。
八、使用建议(实话)
-
不要同时用物理静音键
否则"系统静音"和"媒体音量"会不同步,容易误判
-
最好:
- 放到主屏幕
- 或绑定「背部轻点」
- 或绑定侧边按钮(iOS 18)
九、如果你愿意,我还能继续帮你做的事
- 做一个 状态提示版(震动 / 通知显示"已静音 / 已恢复")
- 改成 记住铃声音量 + 媒体音量 双通道
- 给你一套 iOS 18 专用更稳逻辑
- 帮你压缩成 最少动作版本
你这个思路本身是对的,只是差把教程写清楚。上面这套,照抄即可用。