第一个动作是「获取文件」。此动作会默认勾选「显示文稿选择器」,我们需要手动关闭它,随后就会出现「文件路径」的输入框。由于系统限制,快捷指令只能自动获取 iCloud Drive/Shortcuts/ 路径下的文件,并且在输入文件名时,还需要加上后缀名。这也正是我在前面建议将音频保存至此,并且需要记住音频格式的原因。
第二个动作则为「播放声音」,直接添加在「获取文件」后即可。
在保存前的最后一步,你需要手动关闭「运行前询问」,只有这样,设备才能自动在接入电源时播放声音。
完成这些设置以后再接上电源,设备的充电提示音就被「替换」掉了。
动作原理及常见问题正如前文所说,此动作是在接入电源时自动播放音频。因此难免会出现一些不理想的情况:音频与原本的提示音混在一起、音频有延迟……
由于这一动作的性质是「播放音频」,而系统提示音的性质是「播放通知」,系统提示音永远会优先播放,这也正是为什么音频会与原本的提示音混在一起。此时,只需要开启静音即可消除掉原本的提示音。
音频延迟则是正常现象,毕竟设备需要先检测到你接入了电源,随后再运行自动化,这期间一般会有 1s 以内的延迟。但如果延迟时间超过了 1s,就可能是其他问题所导致的。
首先,有可能是音频前面本身就有一段空白。这样即使准确地播放了音频,前面的留白也会造成「音频延迟」的错觉。这种情况,你只需要把空白部分裁剪掉就行了。
裁剪掉音频前面的留白
第二种情况比较常见,尤其是在设备空间不足时,系统会自动删除一些已经保存至 iCloud Drive 的本地文件。而 Shortcuts 文件夹正好是在 iCloud Drive 上的,因此,系统有可能在设备空间吃紧时,将原先的音频删除掉。
这样一来,当你需要播放音频时,系统会重新下载音频,自然也就导致了音频延迟。这一问题也有解决方案,那就是将音频嵌入快捷指令。
嵌入的原理则是利用 Base64 编码,将音频转化为文字并存储在自动化里。每次播放时,系统只需要在本地进行解码,不会因为文件被删而需要重新下载,也不需要依赖网络。
为了方便操作,我做了一个编码转换的快捷指令(⏬ 点此下载)。运行后,你只需要选择想要播放的音频就行了,快捷指令会自动帮你编码完成并复制到剪贴板。