Je n'ai pas de téléphone ICS pour l'essayer, mais voici ce que je ferais :
pause
garde évidemment la trace de la position temporelle de l'audio. La version 4.0 semble reprendre automatiquement le fichier audio à l'endroit où vous l'avez mis en pause.
Ainsi, au lieu de faire une pause, vous pourriez stop
votre fichier audio. Malheureusement, ce n'est pas le cas, stop
n'est pas pris en charge par HTML5.
Vous avez une solution délicate :
-
pause
audio
- enregistrer la position :
trackPos = myTrack.currentTime;
- le volume du magasin :
trackVol = myTrack.volume;
- le mettre en sourdine :
myTrack.volume = 0;
Puis, lorsque l'utilisateur revient et appuie à nouveau sur play :
si trackPos existe
- fixe la position de départ à trackPos :
myTrack.currentTime = trackPos;
play
mytrack.volume = trackVol;
delete window.trackPos;
Cette opération est délicate mais devrait fonctionner si vous utilisez des contrôles JavaScript.
Si vous utilisez les contrôles natifs, la lecture et la pause seront gérées par l'interface du navigateur. Dans ce cas, il suffit de stocker la position et de commencer à se salir les mains :
-
supprimer les sources :
myTrack.removeChid( yourSRCs )
-
rétablir vos CRS et vous positionner sur le focus
-
attendre que l'utilisateur joue
Il s'agit d'une ébauche rapide, qui n'a pas été testée. Mais cela devrait fonctionner
///EDIT///
Une démo Javascript qui fonctionne, du moins sur mon bureau. Essayez-la sur votre ICS : JSFiddle
(sauvegarder le fichier, j'imagine qu'on ne peut pas lancer correctement jsfiddle sur un téléphone)