Google’s Chrome browser recently introduced little loudspeaker icons to tell you which tab is playing audio or video. It’s a neat feature, especially if you have lots of tabs open and one of them suddenly starts to auto-play an annoying ad at full volume. But how does the browser actually know this? It’s a fascinating question, and the answer has a lot to do with the evolution of media playback on the web.
Multimedia hacker Mike Melanson has the entire backstory to this in a fascinating little post on his website that also explains why this new approach is a lot easier for developers. Check it out if you want to read a neat piece of multimedia geekery.
Essentially, there are two ways media is being presented online: Publishers either rely on third-party plugins like Flash, or use HTML5 instead to play audio or video natively in the browser. The latter is the more modern approach, and also an easy feat for Chrome. By using HTML, publishers essentially turn your browser into a media player, and Chrome just needs to tell you which of its tabs is playing what.
But Flash, or other third-party plugins, are a different story. If Chrome has five tabs with Flash open, how does it know which one of these is making noise? Until recently, it actually wouldn’t have been able to tell you.
Google recently started to phase out support for a plugin API established by Netscape back in the 1990s, which essentially allowed a plugin like Fresh to play audio independently of the browser. Instead, it introduced a new architecture that routes any audio through the browser, thereby giving Chrome a way to know which tab is playing what.