音乐是我长期以来的精神粮食,平时为了让自己集中注意力,就把耳机掏出来戴上,像给自己充电一般。我对 Apple Music 有一种迷之执着,尤其是中区的 Apple Music,它比起国内主流音乐平台没有半点优势,顶多能够勉强承认平分秋色,但我却很坚持一直在用。当然这不是矮子里挑将军,Apple Music 满足了我常听英文歌的需求,又实现了我偶尔听听华语歌的愿望。更重要一点,这些歌都是有版权的,比起国内音乐版权分散各地的景象,Apple Music 上的外语歌就没有这种乱象。

扯远了,这篇文章还是埋一个 Apple Music 的小坑,分享一个 JSBox 小部件脚本。

分析

这个脚本单纯运行在 JSBox 小部件,当然嫌碍事也可以在 JSBox 启动器使用,主要功能是通过小部件页面快速播放 Apple Music 音乐。这里面没有什么新东西,两个「堆」分别是Top PlaylistsMusic Launcher的东西,通过平时使用反思抽离出来的。Music Widget

首先是 Top Playlists。这个脚本当时就是从 Music Launcher(Workflow)抽离出来的,它在运行效率上有质的飞跃。当时为了解决小部件选择播放歌曲数目等问题,设计了一个拙劣的界面。然而我发现在绝大部分情况,我并不需要选择播放范围。原 Top Playlists 脚本运行界面

后来在 iOS 12 更新之际,我根据这个使用习惯添加了 Siri Shortcut 功能,用 Siri 播放一个榜单。但 Siri 还是一个比较理想主义的事物,目前一个指令需要重复设置一个 Shortcut,而且运行时间比较耽误,尤其在网络质量一般的环境,显然在双空闲时,手指肌肉记忆更实在一些。为了让三个榜单有不同指令,需要重复设置三个相同 Shortcuts

还有 Music Launcher 部分。这部分操作在 Shortcuts(原 Workflow)是十分简单易行的,主要是操作本地 Apple Music 音乐库:随机播放歌曲,还有我常用的播放「最新添加」。「最新添加」存在的问题以前已经探讨过,假如我最近添加了整个专辑,那么播放列表基本就被这个专辑占据了,这结果我并不希望得到。而现在也把本地 Apple Music 音乐库相应操作转移到 JSBox,两处使用上没有明显区别,只是不需要分散在两个地方。与原 Music Launcher Workflow 一致

以上就是 Music Widget 两个部分的含义。为了简化小部件的呈现,整个设计在初次使用时操作比较隐晦,所以在此简单介绍一下。

实现

如同我们前面提到和看到的,Music Widget 左侧为在线榜单,即 Top Playlists 部分;右侧为本地音乐库,即 Music Launcher 部分。这里设计极大简化了前面提及的不必要操作,整个交互仅有选择榜单(或歌单)=> 确认播放简化操作交互

这样的考虑是借鉴了 Apple Music 自带的小部件,它简洁美观,播放音乐也十分方便,但只能播放有限的单曲,而且容易误触。所以借鉴了这种极简的交互方式并作出调整,更便利平时音乐播放操作。左:Apple Music 自带小部件

如果平时比较常用这些播放功能,建议将之设置为 JSBox 小部件而不是启动器,如此日常操作会更方便一些。使用时小部件不需要展开,展开反而更占用地方,或设置小部件高度为 120 左右。确实觉得小部件页面内容太多,日常音乐播放需求也不是很大,设置为启动器也未尝不可。

说明

  • 我一般常听的就是榜单歌曲和离线歌曲,其他通过小部件也不容易操作,所以 Music Widget 的考虑都是从自身使用习惯出发的,而且 JSBox 脚本不如 Shortcuts 那样容易自行修改,所以使用前请自行斟酌;
  • 建议小部件设置为「普通模式」模式,滑入页面时不会带来割裂感(此脚本对性能要求不大)
  • Top Playlists 部分依然支持美区 Apple Music 服务订阅,不过仍需要手工找到如下代码进行修改;美区 Apple Music 订阅者需手工修改代码
  • 再三叮嘱:供中区和美区 Apple Music 订阅者使用。

附件

JSBox:Music Widget

V1.0 [2018-10-02 12:00]

  • Initial release.

如有问题,欢迎留言或邮件咨询