Mute your mic in Discord on Mac with your AirPods.
As of writing, Discord doesn't support muting the microphone using your AirPods on macOS. This app aims to allow you to do so by registering for mute/unmute notifications from your AirPods, and then instructing Discord to mute or unmute your mic over RPC. Muting or unmuting your mic in Discord will also notify the AirPods that they have been unmuted or muted.
Here's a video of it in action:
AirMute.Demo.mov
- Mute your Discord mic with your AirPods!
- A simple, clean, and minimal UI that stays out of your way whilst also providing helpful information on the status of the app.
- A Mac (Intel or Apple Silicon) with macOS 14.0 or higher.
- A pair of AirPods Pro, AirPods 3 or newer, or AirPods Max.
- Have the Discord app installed on your Mac. This app doesn't work with the browser version of Discord.
- First, download the disk image of the latest version of the app from the releases page.
- Open the disk image and drag the app to your Applications folder.
- Next, head to the Discord Developer Portal and create a new application.
- Click OAuth2 in the sidebar. Copy your client ID and client secret.
- Add a redirect URI to
http://localhost
. - Launch the app, and click its menu bar icon (it looks like a person with waves) and select "Settings".
- If you don't see the settings wndow, it might be behind other windows.
- Paste your client ID and secret into this window. Then, close the window.
- Quit the app by clicking its menu bar icon and selecting "Quit".
- Open Discord if it isn't already open.
- Open the app again.
- If everything worked correctly, clicking the menu bar icon again should yield a line that says
Inactive - Not in Voice
orActive - In Voice
.
The Discord allows any application to interface and issue commands to it (with your approval, of course) over RPC. One of the things that RPC allows for is controlling whether or not your mic is muted or not, meaning that the app is able to instruct Discord to toggle the microphone whenever the AirPods are clicked.
Basically:
AVAudioApplication.setInputMuteStateChangeHandler(_:)
lets you register a callback for when the AirPods have been clicked to mute.- Discord exposes a Unix socket in /var/tmp that allows for external processes to control and recieve information about some aspects of the client over RPC.
- Using these two, it's possible to get notifications for when the AirPods are muted, as well as when the mic has been muted within the Discord client itself, and dispatch the information to both the AirPods or Discord to keep things in sync.
Clicking the app's menu bar icon will yield a menu that'll tell you if the app is active or not (the app is only active when you're in voice), and will also let you know why the app is inactive, or of any errors that might have occured.
Enabling this setting will let you undeafen yourself by clicking the stem on your AirPods whilst deafened. Turning it off will prevent you from being undeafened when clicking the stem, but it won't unmute you either.
Discord requires apps that haven't been approved to re-request authorization from you every seven days. There's nothing that can be done about this, unfortunately. Sorry!
The settings window sometimes like to show up behind other windows. Minimize all of the windows you've got open to locate it, or use Mission Control to find it.
Click the app's menu bar icon to see if any erorrs are being reported. That should give you a pointer as to what might be wrong.
Check the releases for a newer version of the app. It might have fixed the issue you're experiencing.
Open an issue, and let me know what's up. I'll take a look and do my best to track down what might be going awry.