Comment détecter si le HTML5 audio play/pause de l'état a été modifié en dehors de la page web?

J'ai une application web qui joue un HTML5 flux Audio d'une station de radio. J'utilise jQuery pour lire/mettre en pause l'audio et de basculer le bouton play/pause de la sorte:

var playerStream = document.getElementById('player-stream');
$('section.player').hammer().on('tap','button.toggle-stream', function(event){
    if (playerStream.paused) {
        playerStream.play();
        $('button.toggle-stream').attr('data-icon','s');
    }   
    else {
        playerStream.pause();
        $('button.toggle-stream').attr('data-icon','p');
    }
});

Tout cela fonctionne très bien. Cependant, sur des appareils comme l'iPhone et l'iPad, vous pouvez contrôler la lecture audio à partir de l'extérieur de la page web (par exemple en double-cliquant sur l'écran d'accueil et en cliquant sur play/pause). Disons que l'audio est en cours de lecture et de l'extérieur de l'application, j'ai décider d'interrompre le flux de données. Quand je retourne à la web app le bouton "pause" s'affiche encore et efficacement ne fait rien jusqu'à ce que vous appuyez sur deux fois pour reprendre la lecture du flux. Ce qu'il faut bien arriver, c'est le bouton pause renvoie à "jouer" ainsi il semble comme une chose naturelle.

Comment puis-je détecter le changement de audio play/pause et de réfléchir de nouveau à l'application?

OriginalL'auteur Jody Heavener | 2013-07-05