Switch AirPods Noise Cancellation on macOS with a Hotkey

November 10, 2025

在最近,頻繁外出使用 MacBook 搭配 Airpods,很明顯就能感受到 AirPods 切換 Noise Cancellation 和 Transparency 之間的延遲多惱人。

Apple 官方的切換方式有兩種,一是在 MacOS 的 Status Bar 手動點選;二是長按耳機柄。兩種方式無一不會造成切換的延遲——儘管很短,但在突然的對話中十分重要。

在這種情況下,顯然能透過 Hotkey 切換模式改進這一點,但 MacOS 本身沒有提供這樣的方式。搜索相關論壇和 subreddit 後,我發現竟然沒有一個方式能夠真正運行在我的系統上,大多在 MacOS 13 就已失效,而系統內建的 Shortcut 內的 set Noise Control mode on … 同樣沒法正常工作。

在檢索的過程中,我發現了曾經有人透過 applescript 切換選項,可惜在新的系統上沒法繼續運作。

深入 applescript,我發現新 MacOS 中 Status Bar 中的 Control Center 結構變化巨大,所有的控件放在了一個 Empty Description 的 Group 內,Sound Panel 內的選項都 name:missing value,ax_description:missing value,沒法透過關鍵詞匹配的方式標記對應的選項,只好選擇了按照 index 排序選擇。

這種方式雖然髒,但快。

Application

實例腳本見 dotfiles/bin/applescript/macos-sound-mode.applescript,開啟 Shortcut 創建一個 Run Applescript。 把腳本內容放入 Run Applescript,變更set targetModeIndex的數字到你想要的位置。

targetModeIndex 的數字可能隨著不同的設備變化,數字不是固定的。具體為何值,直接手動開啟已經連接了 AirPods 的 Status Bar 圖標,數想要的功能在第幾項即可(設備也算入其中)。

如下圖:

選擇一:

在右側窗格中,前往「Option」標籤。

選取「Use as Quick Action」(「Service Menu」將自動選取),然後按一下「新增鍵盤快速鍵」,按下要設定的組合鍵。

選擇二:

透過 Raycast,Alfred, Keyboard Maestro, FastScripts 存取上面設定的 Shortcut(或是在支援可以直接運行 applescript 的軟件內設定,即可跳過上述的 Shortcut),然後在使用的軟體內綁定觸發按鍵即可。