J'ai 5 AVPlayerItems
dans mon AVQueuePlayer
qui est fixé à AVPlayerActionAtItemEndAdvance
. J'appuie sur play sur mon IU, et je joue le premier, le deuxième et ensuite je commence à jouer le troisième. Puis j'appuie sur le bouton de rembobinage. Ce que je veux, c'est que la troisième vidéo revienne au début et que je reçoive une notification me permettant d'arrêter. Ce que je vois, c'est que j'obtiens un statut "prêt à jouer" pour le quatrième élément, suivi d'un élément en cours modifié pour le quatrième élément - puis le quatrième élément est joué.
Pourquoi le 4ème élément devient-il l'élément actuel après que le 3ème élément ait été rembobiné à son début ?
La seule façon d'empêcher cela est de régler le lecteur pour qu'il n'avance pas automatiquement ( AVPlayerActionAtItemEndPause
), observer la fin de chaque élément, et espérer recevoir une notification de "fin de lecture" pour le rembobinage du 3ème élément ainsi que lorsque la lecture se termine naturellement. Ensuite, dans mon code d'observateur de fin, je peux vérifier le rythme du lecteur et, en cas de rembobinage, ne pas passer à l'élément suivant.