AppleScript 操控 macOS 系统音量与音频设备

作者:袖梨 2026-07-07
AppleScript可原生控制macOS音量与音频设备:设音量用set volume output volume,静音用muted true/false,切输出设备需ControlCenter权限,Music音量独立设置,提示音通过defaults禁用。

可以直接用 applescript 控制 macos 系统音量和切换音频输出设备,无需安装额外软件,系统原生支持,稳定可靠。

设置系统音量(0–100)

AppleScript 通过 set volume output volume 直接写入 Core Audio 层,所有 macOS 版本(Ventura 至 Sequoia)均兼容。

  • 设为 60%:osascript -e 'set volume output volume 60'
  • 静音:osascript -e 'set volume output muted true'
  • 取消静音:osascript -e 'set volume output muted false'
  • 获取当前音量值(返回数字):osascript -e 'output volume of (get volume settings)'

切换默认音频输出设备

菜单栏音量图标底层即由 AppleScript 驱动,可通过脚本模拟选择逻辑。需确保目标设备已连接并被系统识别。

  • 切换到名为 “AirPods Pro” 的设备:osascript -e 'tell application "System Events" to tell process "ControlCenter" to click menu item "AirPods Pro" of menu "Output Device" of menu item "Sound" of menu "Control Center" of menu bar 1'
  • 更通用写法(适配 Sonoma/Sequoia):osascript -e 'tell application "System Events" to tell process "ControlCenter" to click (first menu item whose title is "AirPods Pro") of (first menu whose title is "Output Device")'
  • 若提示权限错误,请前往「系统设置 → 隐私与安全性 → 自动化」,勾选「控制中心」和「系统事件」

同时控制 Music App 与系统音量

AppleScript 可跨应用协同操作,适合构建播放+系统音量联动逻辑。

  • 将系统音量设为 40%,Music 播放器音量也设为 40%:
    osascript -e 'set volume output volume 40' -e 'tell application "Music" to set sound volume to 40'
  • 先启动 Music(避免因未运行报错):
    osascript -e 'activate application "Music"' -e 'tell application "Music" to set sound volume to 75'
  • 注意:Music App 音量独立于系统音量,两者叠加生效

静音系统提示音(非媒体音)

仅关闭按钮声、警告音等 UI 声音,不影响音乐或视频播放。

  • 禁用提示音:defaults write NSGlobalDomain com.apple.sound.uikit.enabled -int 0 && killall -HUP SystemUIServer
  • 恢复提示音:defaults write NSGlobalDomain com.apple.sound.uikit.enabled -int 1 && killall -HUP SystemUIServer
  • 该设置保存在用户偏好中,重启后仍有效

相关文章

精彩推荐