在 macOS 中,虽然系统没有直接的“整点语音报时”功能,但通过以下 4 种方法可实现个性化时间播报提醒,满足不同场景需求:

一、系统原生方案:聚焦时钟 + 语音播报(基础提醒)

适用场景:临时快速获取当前时间语音反馈

操作步骤

1. 按下 `⌘ Command + 空格` 打开 Spotlight 搜索。

2. 输入 `time` ➔ 按回车,系统将弹出时钟界面并自动播报当前时间(英文语音)。

二、自动化脚本:定时语音播报(精准自定义)

适用场景:需要每小时/自定义间隔自动播报时间

操作步骤(使用 Automator + 日历联动):

1. 创建语音脚本

  • 打开 `Automator` ➔ 新建「快速操作」
  • 添加「运行 AppleScript」操作,粘贴以下代码:
  • applescript

    say "当前时间,北京时间" using "Ting-Ting

    say (time string of (current date))

    (可选替换 `Ting-Ting` 为其他系统语音,如 `Siri`)

  • 保存为 `Time Announcement`
  • 2. 设置定时触发

  • 打开「日历」➔ 创建新事件:
  • 标题:`时间播报`
  • 重复:每小时/自定义频率
  • 提醒:`打开文件` ➔ 选择刚保存的 `Time Announcement.workflow`
  • 三、终端命令 + 定时任务(极客风格)

    适用场景:技术用户偏好命令行控制

    操作步骤

    1. 创建 Shell 脚本 `time_announce.sh`:

    bash

    !/bin/bash

    say -v Samantha "现在是北京时间 $(date +"%H点%M分")

    2. 终端授权:`chmod +x time_announce.sh`

    3. 使用 `launchd` 设置定时任务:

  • 创建 plist 文件 `~/Library/LaunchAgents/local.time.announce.plist`
  • 写入以下配置(示例为每小时执行):
  • xml

    Label

    local.time.announce

    ProgramArguments

    /bin/bash

    /path/to/time_announce.sh

    StartInterval

    3600

    4. 加载任务:`launchctl load ~/Library/LaunchAgents/local.time.announce.plist`

    四、第三方工具强化(懒人一键设置)

    推荐应用:

  • VoiceBox:可设置多种语音提醒规则,支持自然语言触发
  • Timeless:专注时间播报工具,提供可视化规则设置界面
  • Alfred(需Powerpack):通过工作流实现高级定时任务
  • ⚠️ 注意事项

    1. 首次运行脚本需前往 `系统设置 > 隐私与安全性 > 辅助功能` 添加对应应用权限

    2. 中文语音需在脚本中指定支持中文的系统语音(如 `Ting-Ting`)

    3. 定时任务会消耗少量系统资源,建议避免设置过短间隔(<5分钟)

    通过以上方法,您可以根据使用习惯选择最适合的方案。对于追求稳定性的用户,推荐方法二;技术用户可尝试方法三实现高度定制化播报。