---
title: "Mobile audio: session, mute and background"
slug: /workflows/audio-mobile/
markdown: /workflows/audio-mobile.md
section: audio
tier: 2
summary: "iOS audio session options, the mobile mute state and stopping the audio thread to save power."
sources: ['https://docs.unity3d.com/6000.0/Documentation/ScriptReference/AudioSettings.Mobile.html', 'https://docs.unity3d.com/6000.0/Documentation/Manual/class-PlayerSettingsiOS.html', 'https://docs.unity3d.com/6000.0/Documentation/Manual/class-AudioClip.html']
canonical: https://unityworkflowlibrary.dev/workflows/audio-mobile/
read_first: /read-first.md
---

> Read first, on every prompt: [non-destructive rules](/read-first.md).

# Mobile audio: session, mute and background

> iOS audio session options, the mobile mute state and stopping the audio thread to save power.

## iOS Player settings

From the [iOS Player settings](https://docs.unity3d.com/6000.0/Documentation/Manual/class-PlayerSettingsiOS.html):

- **Mute Other Audio Sources:** whether the app stops audio from apps running in the background; otherwise their audio
  keeps playing alongside the game. Ask the user which behaviour they want; a game whose music is optional often leaves
  the player's own music playing.
- **Prepare iOS for Recording:** initializes the microphone recording APIs, lowering recording latency, but re-routes
  iPhone audio output via earphones. Enable it only when the game records.
- **Force iOS Speakers when Recording:** sends output through the internal speakers even with headphones plugged in
  while recording.

## Mute state and the audio thread

From [AudioSettings.Mobile](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/AudioSettings.Mobile.html) (iOS and Android):

- `stopAudioOutputOnMute = true` stops the audio output thread when device media volume is 0 and restarts it after.
  The reference recommends it for apps with simple looped music and short effects, and calling `StopAudioOutput` when
  the player sets in-game volume to 0, to reduce power use.
- `muteState` and the `OnMuteStateChanged` event report the device mute state.
- The caveat: sounds playing when output stops resume from the same position, so they can fall out of sync with
  gameplay that kept running. Don't use it when audio must stay in sync with gameplay.

## Memory on mobile

- Use per-platform import overrides (the Android row in AUDIO-IMPORT-PER-PLATFORM on the
  [import and memory](/workflows/audio-import-memory/) page) and remember that each streaming clip carries about 200 KB
  of overhead ([Audio Clip Import Settings](https://docs.unity3d.com/6000.0/Documentation/Manual/class-AudioClip.html)).
- Voice budgets per device class are on the [voices](/workflows/audio-voices/) page; measure them on a device.

## Related

- [Audio topic](/topics/audio/): every audio page in reading order.
