If you picked up an iPhone 5—or are an iPhone owner whose upgraded to iOS 6—and are wondering why you’re not getting sound when you play video inside apps, the mute toggle on the side of your device is to blame. And yes, this does work differently than it did before.
Previously—with iOS 5—the mute toggle worked pretty logically. If you had it set to mute, sound didn’t come out of your phone unless you specifically caused it to with a user action. If you tapped on the play button of your music app, for instance, music came out even if you were on mute.
This is because iOS rightly assumed that you wanted to make that happen. Any incidental actions, like ringing, alert noises and more were always muted. But if you explicitly asked it to with a tap, your phone would still play audio.
Now, under iOS 6, the rules have changed a bit and you may have noticed. A good example to demonstrate the difference is what happens when you play back video from a website inside an app like Tweetbot. If your mute toggle is on, you don’t hear any audio from that video. You have to un-mute your device to hear the audio.
In the shot on the left, the video plays in Tweetbot — but no audio comes out of the speaker. In the shot on the right, the same video plays in Safari and audio comes out just fine.
This is a big departure from the previous behavior and it has confused a lot of people. They’re used to being able to play back a video with audio even while their phone is on mute, and this is no longer possible in what Apple calls ‘web views’. Basically, any webpage displayed inside an app, not in the Safari browser.
If you play a video in Safari, it will still play back with audio, even with the mute toggle on. AKA the right way.
This makes the difference confusing for those who think something isn’t working properly. It’s not consistent and it could cause issues. As Farhad Manjoo notes, you could easily end up un-muting it just to listen to a video and then forgetting to re-mute afterwards. That could lead to a ring or alert going off in an embarrassing situation.
But, and this is a big but, this is not how Apple wants it to work. Apple actually wants it to work the old way, just like you and me. They explicitly tell developers that they should “configure the audio session correctly so that the audio is not silenced by the ringer switch” so that it matches the way it works in Safari.
Unfortunately, the key portion of that text is ‘configure the audio session correctly’. This actually means that developers who use web views in their apps, like your favorite Twitter client or alternative browser, will need to update their apps to handle audio streaming differently.
This is why many of your current apps no longer work the way that they’re supposed to with the mute toggle on. So it’s up to developers to make those changes and submit updates to their apps.
Why did Apple make the changes? I’m sure it has its reasons, but the developers I spoke to said that they’re not sure what those are. Now, it’s on them to get this working right and to take care of any complications that come up while they’re at it.