You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac 13.2.1下AirPods Pro降噪控制AppleScript报错求助

解决Mac 13.2.1中AppleScript控制AirPods Pro降噪模式切换的错误

你遇到的Can't get menu bar 1 of process SystemUIServer错误,实际根源并非SystemUIServer进程,而是代码存在拼写错误、UI元素路径不匹配、延迟不足等问题,结合Mac 13 Ventura的ControlCenter结构,以下是修复方案:

步骤1:授予辅助功能权限

打开「系统设置」→「隐私与安全性」→「辅助功能」,将运行脚本的应用(如Script Editor、Terminal)添加到列表并勾选权限,否则脚本无法操控系统UI元素。

步骤2:修正后的AppleScript代码

set AirPodsName to "Joris's AirPods Pro" -- 修正拼写错误:Aripods → AirPods
tell application "System Events"
    tell application process "ControlCenter"
        -- 打开音量控制菜单
        set volMenu to menu bar item "volume" of menu bar 1
        click volMenu
        delay 0.5 -- 增加延迟确保菜单加载完成
        
        -- 定位并打开AirPods设备选项面板
        try
            set btItem to menu item AirPodsName of menu 1 of volMenu
            click btItem
            delay 0.5 -- 等待设备模式面板加载
        on error errMsg
            display alert "未找到指定AirPods设备:" & errMsg
            click volMenu -- 关闭菜单后退出
            return
        end try
        
        -- 切换降噪/通透模式
        tell window "ControlCenter"
            set ncCheckbox to checkbox "Noise Cancellation" of group 1 of scroll area 1
            set tCheckbox to checkbox "Transparency" of group 1 of scroll area 1
            
            if value of ncCheckbox is 1 then
                click tCheckbox
            else
                click ncCheckbox
            end if
        end tell
        
        -- 关闭控制中心
        click volMenu
    end tell
end tell

关键改动说明

  • 修正AirPods名称拼写错误,确保能匹配到目标设备
  • 调整AirPods选项的定位逻辑:直接从音量菜单的子菜单获取设备项,更贴合Ventura的ControlCenter结构
  • 增加合理延迟,避免UI元素未加载完成时执行操作导致错误
  • 用try...on error块处理设备未找到的异常,提升脚本健壮性
  • 直接通过复选框名称定位降噪/通透选项,比模糊匹配更可靠

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:31:15