Soundshine app icon

Soundshine

← Back to blog

Why macOS Won't Let You Share System Audio (and How to Fix It)

You are on a Zoom call and want to play a YouTube video so everyone can hear it. You hit play, and your participants hear nothing. Or you are trying to record your screen with QuickTime and the final video has no system audio, just dead silence. You search around in System Settings, check Zoom’s audio options, poke through QuickTime’s menus. Nothing.

This is not a bug. It is a deliberate design choice by Apple. macOS simply does not allow apps to capture the audio playing on your computer. If you have ever wondered why this works fine on Windows but feels impossible on a Mac, here is what is actually going on under the hood.

How macOS Handles Audio

Every sound on your Mac flows through a system called CoreAudio. At its center is something called the HAL, or Hardware Abstraction Layer. The HAL is the gatekeeper between software and your audio hardware. When Spotify plays a song, CoreAudio sends that audio through the HAL to an output device (your speakers or headphones). When Zoom needs your voice, it asks the HAL for audio from an input device (your microphone).

Here is the key part: CoreAudio treats inputs and outputs as completely separate worlds. Audio flows out to speakers. Audio flows in from microphones. There is no built-in bridge that connects the two. There is no way for an app to say “give me whatever is currently playing through the speakers” because that path simply does not exist in the system.

This is different from how Windows works. Windows has a feature called WASAPI loopback capture, built directly into its audio stack. WASAPI loopback lets any app tap into the audio stream going to your speakers and read it as input. That is why Windows apps can offer “Stereo Mix” or “What U Hear” as a recording source.

macOS chose not to include anything like this.

Why Apple Keeps It Locked Down

Apple has never published an official explanation, but the reasoning is fairly clear if you look at how macOS approaches privacy and security across the board.

Allowing any app to silently capture all system audio would be a serious privacy concern. Imagine a background process recording your FaceTime calls, voice messages, or the audio from a confidential video meeting, all without your knowledge. By not providing a loopback path, Apple ensures that no app can eavesdrop on audio from other apps unless you explicitly install a system-level driver and grant it permission.

This is the same philosophy behind macOS requiring you to approve screen recording access, microphone access, and camera access on a per-app basis. Apple prefers to lock things down by default and let users opt in, rather than leaving doors open.

The tradeoff is that legitimate use cases, like sharing a song on a video call or recording a tutorial with system audio, become frustrating. You are left with no obvious way to do something that feels like it should be basic.

What Virtual Audio Drivers Do

Since macOS will not create a loopback path for you, the solution is to create one yourself using a virtual audio driver.

A virtual audio driver is a CoreAudio plugin that registers itself with the HAL as both an output device and an input device at the same time. When you route your system audio to this virtual output, the driver takes that audio and makes it available on the corresponding virtual input. Any app that can read from a microphone (Zoom, QuickTime, OBS, Discord) can now pick up system audio by selecting the virtual device as its input source.

In technical terms, the driver creates a ring buffer that sits between the output side and the input side. Audio samples written to the output get read back from the input. To the rest of macOS, it looks like a normal microphone. But that “microphone” is actually carrying whatever your Mac is playing.

This is not a hack or an exploit. Apple’s CoreAudio framework explicitly supports third-party HAL plugins. It is the sanctioned way to extend macOS audio capabilities. The driver installs to /Library/Audio/Plug-Ins/HAL/ and requires an administrator password, which is why virtual audio tools ask for elevated permissions during setup.

A Brief History of Mac Audio Loopback Tools

The need for virtual audio devices on macOS is not new. People have been working around this limitation for over a decade.

Soundflower was one of the earliest solutions. It was an open-source kernel extension that created virtual audio devices on macOS. For years it was the go-to answer on forums and tutorials. But Soundflower was abandoned by its original developer, and as Apple phased out kernel extensions, Soundflower became increasingly unstable. On modern versions of macOS, it often fails to install or causes audio glitches.

BlackHole picked up where Soundflower left off. It is an open-source virtual audio driver that is actively maintained and works on current macOS versions. BlackHole is solid, but it is a raw audio pipe. When you route your system audio to BlackHole, you stop hearing it through your speakers unless you manually create a multi-output device using Apple’s Audio MIDI Setup utility. For people comfortable with that kind of configuration, BlackHole works well. For everyone else, it is a confusing process that involves juggling multiple audio devices and hoping you set everything up correctly.

Loopback by Rogue Amoeba is a paid app ($99) that provides a polished interface for creating virtual audio devices with per-app routing. It is powerful, but it is designed for audio professionals who need granular control over which apps send audio where. For someone who just wants to share system audio on a Zoom call, Loopback can feel like buying a commercial kitchen when you just needed a toaster.

The Modern Fix

Soundshine takes a simpler approach. It installs a lightweight CoreAudio HAL driver and gives you a virtual microphone that carries your system audio. There are no terminal commands to run, no multi-output devices to configure in Audio MIDI Setup, and no complex routing diagrams to figure out.

You install Soundshine, and a guided setup wizard handles the driver installation in about 30 seconds. After that, a menu bar icon gives you a single toggle to turn audio routing on or off. When it is on, “Soundshine Microphone” shows up as a microphone input in any app. Select it in Zoom, Google Meet, QuickTime, OBS, or whatever you are using, and system audio flows through.

Your speakers keep working normally the whole time. Soundshine passes audio through to your real output device simultaneously, so you hear everything your participants hear. The audio stays digital end to end at 48 kHz, 32-bit float stereo, so there is no quality loss.

The Bottom Line

macOS does not let you share system audio because Apple intentionally left out a loopback path between audio outputs and inputs. It is a privacy-first design decision, and it is unlikely to change. The fix is a virtual audio driver that creates the bridge CoreAudio will not.

If you want the simplest version of that fix, with no manual configuration and no audio engineering background required, give Soundshine a try.

Route any audio, anywhere

Soundshine creates a virtual mic from your system audio so every app just works. No command line, no kernel extensions.

Download Free