Return

macOS 快捷鍵切換 AirPods 降噪模式 [Outdated]

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

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

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

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

深入 AppleScript,我發現新 macOS menu bar 中的 Control Center 結構變化巨大,所有的控件放在了一個 empty description group 內,Sound panel 內的選項都 name:missing value,ax_description:missing value,沒法透過關鍵詞匹配的方式標記對應的選項,只好選擇了按照 index 排序選擇。

這種方式雖然髒,但快。

Application

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

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

如下圖:

macOS Sound menu with AirPods noise control options numbered 1 through 6

  1. 方法一:

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

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

  1. 方法二:

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

Edit
此文章有後續更新,「macOS 快捷鍵切換 AirPods 降噪模式:從不想用到離不開」內提供了後續內容。