IOS – Game audio is tied to the ringer switch. Is this a bug or a feature

audioheadphonesiosiphone

I've got an iPhone 6 running the latest iOS 9.2.1 public beta, although the following behavior has been happening to me for a few iOS updates now. I'm wondering if it's a beta bug that should be reported or if it's the intended iOS behavior.

When I'm using headphones, everything works the way it should, regardless of the ringer switch setting.

When I'm not using headphones and the ringer switch is set to on (i.e. the orange isn't visible), everything works the way it should.

When I'm not using headphones and the ringer switch is set to off, audio from video-playing apps (YouTube, the native Videos app, etc.) works fine, but the audio from games is totally silent.

So, is this a bug or a feature? Let's define "feature" as "it can be reproduced on a device that has never touched beta software."

Best Answer

This is intended behaviour as per Apple Guidelines.

From the Apple iOS Human Interface Guidelines:

Users switch their devices to silent when they want to:

  • Avoid being interrupted by unexpected sounds, such as phone ringtones and incoming message sounds
  • Avoid hearing sounds that are the byproducts of user actions, such as keyboard or other feedback sounds, incidental sounds, or app startup sounds
  • Avoid hearing game sounds that are not essential to using the game, such as sound effects and soundtracks

Specifically for games:

Scenario 3: A game that allows users to guide a character through different tasks. You provide:

  • Various gameplay sound effects
  • A musical soundtrack

In this app, sound greatly enhances the user experience, but isn’t essential to the main task. Also, users are likely to appreciate being able to play the game silently or while listening to songs in their music library instead of to the game soundtrack.

Deeper in the Audio Guidelines per App Type, Apple recommends use of the AVAudioSessionCategoryAmbient or AVAudioSessionCategorySoloAmbient categories, which are defined as:

  • AVAudioSessionCategoryAmbient/AVAudioSessionCategorySoloAmbient
    [...]
    Your audio is silenced by screen locking and by the Silent switch (called the Ring/Silent switch on iPhone).

Accordingly, for playback type apps, the recommended category is AVAudioSessionCategoryPlayback, defined as such:

  • AVAudioSessionCategoryPlayback
    [...]
    The category for playing recorded music or other sounds that are central to the successful use of your app.
    When using this category, your app audio continues with the Silent switch set to silent or when the screen locks.

As long as the developers follow the guidelines, this is the expected behaviour unless Apple decides to change how the categories function in the operating system.