macOS设置定时播放眼保健操

文章目录

  • [1. ✅方法一:直接基于日历](#1. ✅方法一:直接基于日历)
  • [2. 方法二:基于脚本](#2. 方法二:基于脚本)
    • [2.1 音乐文件获取(ncm转mp3)](#2.1 音乐文件获取(ncm转mp3))
    • [2.2 创建播放音乐任务](#2.2 创建播放音乐任务)
    • [2.3 脚本实现定时播放](#2.3 脚本实现定时播放)

1. ✅方法一:直接基于日历

左侧新建一个日历,不然会和其他日历混淆,看起来会有点乱

然后每小时建立一个日程,选择每天重复, 永不结束 重复,在提醒里选择自定义,可以打开文件,这里可以直接打开网易云下载的ncm文件,但是网易云音乐打开的速度会比自带的音乐app(需要把音乐文件转为MP3才行)打开速度慢

效果类似下面:

就自动啦!

2. 方法二:基于脚本

2.1 音乐文件获取(ncm转mp3)

  1. 从网易云音乐下载,得到XXX保健操.ncm格式

  2. 下载ncmdump

    • macos根据自己的CPU,下载ncmdump-1.5.0-darwin-arm64.tar.gz或者ncmdump-1.5.0-darwin-x86_64.tar.gz
  3. 解压后,接着执行以下命令:

    bash 复制代码
    # 1. 修改文件为可执行
    chmod +x ncmdump
    # 2. 测试是否可以使用
    sudo ./ncmdump -h
    # 这里可能需要去 隐私 里 允许执行
    # 3. 开始转换, 默认转换后文件保存在当前目录,同时 名称和ncm一样,后缀为mp3
    ./ncmdump   XXX.ncm 

2.2 创建播放音乐任务

搜索 自动操作(Automator)

打开后选取 应用程序

搜索apple, 双击 运行AppleScript,直到右侧出现这个代码编辑框

输入以下内容:

bash 复制代码
tell application "Music"
    set theFile to POSIX file "/Users/XXX/Downloads/上海交响乐团 - 眼保健操乐曲.mp3"  ---这个路径替换为你的音乐文件路径
    open theFile
    play
end tell

类似这样:

然后点击那个▶️按钮,就会自动打开音乐app,并播放这个文件了

然后command+S保存,记住保存位置,下面还要用

要检查一下那个保存的那个playmusic.app是不是可以open

bash 复制代码
#  双击`playmusic.app`可以正确执行,不代表命令行里可以正确执行

#  命令行里open一下,是否可以正确执行
> open playmusic.app

# 不行的话,改一下权限
> chmod +x playmusic.app

2.3 脚本实现定时播放

直接随便找一个文本编辑器,写入以下内容:

txt 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
      <key>Label</key>
      <string>com.playmusic.on_the_hour</string>
      <key>ProgramArguments</key>
      <array>
          <string>/usr/bin/open</string>
          <string>/Users/huangshan/Downloads/playmusic.app</string> <!-- 替换为你实际的 PlayMusic.app 路径 -->
      </array>
      <key>StartCalendarInterval</key>
      <array>
          <dict>
              <key>Hour</key>
              <integer>8</integer> <!-- 每天8点 -->
              <key>Minute</key>
              <integer>0</integer> <!-- 整点 -->
          </dict>
          <dict>
              <key>Hour</key>
              <integer>9</integer> <!-- 每天9点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>10</integer> <!-- 每天10点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>11</integer> <!-- 每天11点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>13</integer> <!-- 每天13点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>14</integer> <!-- 每天14点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>15</integer> <!-- 每天15点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>16</integer> <!-- 每天16点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
          <dict>
              <key>Hour</key>
              <integer>17</integer> <!-- 每天17点 -->
              <key>Minute</key>
              <integer>0</integer>
          </dict>
      </array>
      <key>RunAtLoad</key>
      <true/>
  </dict>
</plist>

做眼保健操的时间自己写,我是按照一小时一次写的,

  • 然后把这个文件的名称保存为类似:com.playmusic.on_the_hour.plist
  • 然后移动到/Library/LaunchDaemons文件夹中,可能会提示需要密码

然后命令行运行:

bash 复制代码
# 1. 确保 plist 文件的所有者是 root,把文件的所有者设置为 root,并将组设置为 wheel,这是 macOS 系统服务所需的默认权限。
sudo chown root:wheel /Library/LaunchDaemons/com.playmusic.on_the_hour.plist

# 2.644 权限确保:所有者 (root) 可以读写 (rw-)  组和其他用户只能读取 (r--)
sudo chmod 644 /Library/LaunchDaemons/com.playmusic.on_the_hour.plist

# 3. 加载并启动该任务
sudo launchctl load /Library/LaunchDaemons/com.playmusic.on_the_hour.plist

# 查看是否启动
> launchctl list | grep application.com.apple.Automator
84137	0	application.com.apple.Automator.1152921500311880162.1152921500311880167

# 停止该定时任务
sudo launchctl unload /Library/LaunchDaemons/com.playmusic.on_the_hour.plist

有点类似于linux系统里的 Systemctl命令

试过了,确实可以实现这个效果,但是调整起来有点麻烦

相关推荐
Sugobet40 分钟前
【安卓][Mac/Windows】永久理论免费 无限ip代理池 - 适合临时快速作战
android·tcp/ip·macos·网络安全·渗透测试·ip代理池·接入点
光头才能变强1 小时前
mac安装pycharm
ide·macos·pycharm
归辞...10 小时前
「iOS」————SideTable
macos·ios·cocoa
你好龙卷风!!!10 小时前
mac 安装pytho3 和pipx
macos
最幸伏的人11 小时前
Mac电脑安装HomeBrew
macos·homebrew
光头才能变强16 小时前
Mac安装WebStorm 2025版本
macos
阳光明媚sunny16 小时前
Mac电脑基本功能快捷键
macos·电脑
一盏红烛,一杯烧酒18 小时前
mac alfred实现翻译功能
macos·alfred
T0uken1 天前
【Mac】OrbStack:桌面端虚拟机配置与使用
macos
瓜子三百克2 天前
Mac中M系列芯片采用rbenv管理ruby版本
macos·ruby·rbenv