Bonsoir!
Depuis quelques temps déjà, je developpe un lecteur de musique en html5 avec une liste de lecture.
Toute les secondes le temps restant de la musique en cours de lecture est mise à jour avec setInterval().
Avec audio.currenttime et audio.duration, ma fonction afftemps() affiche donc le temps restant.
Mais en plus, cette fonction, avec un simple IF vérifie si le temps restant n'est pas inferieur à 4 seconde.
Si c'est le cas, il lance la fonction suivant().
Celle-ci met à jour ma liste de lecture et lance la fonction lecture() qui elle lance le son en cours(elle se termine donc par un l'événement audio.play()).
Sous firefox, android, chrome: pas de probléme, les musiques s'enchaînent selon l'ordre établie.
(je n'ai pas encore tester sous ie... Et cela me fait peur, je l'avoue!)
Mais sous ipad.... Aïe! Galére, cela ne fonctionne pas! J'ai bien vérifié: sous ipad, il enchaîne bien les événements ci-dessus (afftemps()->suivant()->lecture()), il les lance tous, mais ignore audio.play()! (j'ai vérifié ceci avec un alert(nimportequoi) pour voir jusqu'où il allait)
J'ai lue plusieurs fois, que l'autoplay ne fonctionne pas sois safari mobile. Je crois aussi qu'il empêche audio.play() si il n'est lancé à partir d'un clic de souris ou de n'importe quelle intéraction du moment qu'elle provienne de l'utilisateur. Non?
Est-ce-que qqn connaît une astuce pour palier à ce probléme?
J'ai vu des scripts pour simuler un clic de souris: un code vérifiant si l'utilisateur touche l'écran. Cependant, ce n'est pas l'idéal pour moi, car je voudrais que les musiques s enchaînent sans que l'auditeur touche quoique ce soit.
J'avoue que je suis bloqué depuis un moment la dessus, j'ai cherché un peu partout sur le web, mais je ne trouve pas de solution.
J'espére avoir été clair dans mes explications, et si vous avez des pistes à me proposer, je suis preneur!
Et dans tous les cas je vous remercie par avance d'avoir prêter un peu d'attention à mon soucis!
Bonne soirée (bonne nuit je veux dire à cette heure ci)
Partager