Explainer

Sonos AirPlay Delay: Why It Happens and How to Actually Fix It

The two-second lag is not a setting you missed — it is how AirPlay to a speaker works, and fixing it means changing which device controls the video.

Quick answer

AirPlay audio sent to a Sonos speaker is buffered for roughly two seconds before it plays, while your video keeps playing locally right away — nothing tells the video to wait, so the two drift apart. Player-side offsets like VLC's audio delay are fragile: the offset is fixed while the real delay is not. The reliable fix is to send the whole mirroring stream to one receiver that controls both outputs — an Xbox running Xaar shows the video on the TV, sends the audio to the Sonos over AirPlay 2, and holds the video back to match.

Why the delay exists

When you AirPlay audio from an iPhone or Mac to a Sonos speaker, the speaker does not play the sound the moment it arrives. It buffers roughly two seconds of audio first. The buffer is deliberate: it rides out Wi-Fi hiccups without dropouts, and it lets several AirPlay 2 speakers play in tight sync with each other.

The video is a different story. It plays on your local screen, in a local app, right now. That app handed the audio to AirPlay and moved on — nothing in the pipeline tells it that the sound will actually come out of the speaker two seconds later. Nothing tells the video to wait.

So you get two independent clocks: video on "now", audio on the speaker's buffered schedule. This is why forum threads about Sonos AirPlay being out of sync all end the same way — there is no hidden setting that turns the buffer off, because the buffer is what makes AirPlay 2 audio reliable in the first place.

The usual workarounds, and why they drift

People do fight it, and the fixes cluster into a few families. All of them share the same flaw: they apply a fixed offset from a device that cannot see the speaker's actual playback schedule.

  • VLC's audio delay: shift the audio track about two seconds against the video. It works — inside VLC, for that session, until the real delay lands somewhere else. The offset is a constant; the delay is not.
  • Per-app equivalents: mpv and some other players have the same knob. Each app gets configured separately, and everything without such a knob — browsers, most apps — is left out entirely.
  • Pause-and-resume nudging: pausing and resuming sometimes pulls audio and video closer for a while. The drift comes back.
  • Giving up: playing video sound on the TV or laptop speakers and saving the Sonos for music. That avoids the problem instead of solving it.

The actual fix: one receiver that controls both outputs

The workarounds fail because two devices each own half of the stream: your Mac or iPhone owns the video, the Sonos owns the audio, and neither can see the other's clock. The fix is structural — hand both halves to a single receiver and let it line them up.

That is what an Xbox running Xaar does. Full disclosure: Xaar is our app. You mirror your iPhone, iPad, or Mac to the Xbox (Control Center → Screen Mirroring → pick the Xbox), and the Xbox receives the video together with its audio. It shows the video on the TV over HDMI and forwards the audio to the Sonos over AirPlay 2.

Now the sync problem becomes solvable, because AirPlay 2 schedules audio playback at exact timestamps — the bulk of the speaker's latency is known by protocol. Xaar has a lipsync delay in its menu: switch it on, and Xaar holds the video back to match the audio schedule. A per-device fine-trim setting covers what the protocol cannot know — the fixed output lag of your particular speaker and TV.

Two honest notes. Xaar is a paid one-time purchase on the Microsoft Store — no subscription, no in-app purchases, no ads, no accounts. And it is currently in limited release: the store listing is visible to invited Microsoft accounts only, and our landing page has a waitlist.

How it works in practice

  1. 01

    Mirror to the Xbox On your iPhone, iPad, or Mac, open Control Center → Screen Mirroring and pick the Xbox running Xaar. The video and its audio arrive at the Xbox as one stream. Xaar runs on Xbox One and Xbox Series X|S.

  2. 02

    Send the audio to the Sonos In Xaar, choose the Sonos as the audio output. The audio now travels to the speaker over AirPlay 2, on its scheduled clock, while the video stays on the TV.

  3. 03

    Switch on the lipsync delay It is a toggle in Xaar's menu. With it on, Xaar holds the video back to match the scheduled audio instead of playing it immediately.

  4. 04

    Fine-trim once per device If lips are still slightly off, adjust the fine trim. It covers the fixed output lag your specific speaker and TV add on top of what the protocol schedules. The setting is per device, so you set it once for your setup.

What this fixes — and what it does not

This is a fix for one specific case: mirroring your iPhone, iPad, or Mac to a TV while the sound plays on Sonos. It is not a cure for Sonos delay in general.

  • TV inputs are out of scope. Audio going from a TV into Sonos over eARC or optical, or from an Apple TV, is a different pipeline this setup never touches.
  • DRM streaming apps refuse to be mirrored. Netflix and similar apps black out their window on the sending device. This is enforced by the apps themselves and applies to every AirPlay receiver, Xaar included.
  • Mirroring latency rules out fast gaming. The end-to-end delay of screen mirroring makes it unsuitable as a display for fast-paced games.
  • Everything must be on the same local network. Guest Wi-Fi and client isolation break AirPlay discovery, and there is no way to do any of this without a shared network.
  • The TV needs nothing special. It only shows HDMI from the console, so a dumb TV works fine.

Related reading

Guide

Use Sonos as your TV speakers — without a soundbar

The same Xbox-plus-Xaar setup, viewed from the home-theater angle: what works, what does not, and where the limits are.

How-to

Mirror your Mac to an Xbox

The Mac-specific walkthrough: how to send your Mac's screen to the Xbox and what to expect from it.

FAQ

Why can't my Mac delay the video itself to match the Sonos?

Because when a Mac sends audio-only AirPlay to a Sonos, there is no video inside the AirPlay session — the video plays in a regular local app, and macOS does not hold local apps back to wait for an external speaker's buffer. The reverse case also exists: if you mirror the Mac's screen to an AirPlay TV, video and audio do stay in sync — but then the audio comes out of the TV, not the Sonos. It is a triangle: video on the TV, audio on the Sonos, and sync. Getting all three requires a receiver that takes the whole stream and forwards the audio itself, which is what an Xbox running Xaar does.

Is the roughly two-second Sonos AirPlay delay a bug?

No. AirPlay audio to a speaker is buffered on purpose: the buffer absorbs Wi-Fi interruptions and keeps multiple AirPlay 2 speakers playing in sync with each other. It only becomes a problem when a video plays somewhere else without being told to wait for the audio.

Does this work with Netflix and other streaming apps?

No, and that is true for every AirPlay receiver, Xaar included. DRM-protected streaming apps such as Netflix refuse to be screen-mirrored — the sending device blacks out the protected window. Mirroring with Sonos audio works for content you are allowed to mirror: your own videos, photos, presentations, and non-protected apps and websites.

Which Sonos speakers work with this setup?

Xaar forwards audio to AirPlay 2 speakers, and it was developed and tested with Sonos. Any Sonos speaker that supports AirPlay 2 can be the audio output; older Sonos models without AirPlay 2 do not show up as targets.

Can I install Xaar today?

Xaar is currently in limited release: the Microsoft Store listing is visible to invited Microsoft accounts only. The landing page has a waitlist form and a button that opens the restricted listing for invited accounts. Xaar is a paid one-time purchase — no subscription, no in-app purchases, no ads, no accounts.

Related

Get Xaar