J'essaie de lire un flux audio HLS en utilisant AVPlayer. Tout fonctionne bien, mais quand je cherche le joueur, le temps actuel du joueur va à une mauvaise position. Si je veux chercher à 38s, après l'exécution de la fonction de recherche, mon currentTime imprimé dans le gestionnaire d'achèvement de recherche me donne 10s, par exemple La plupart du temps, le joueur commence à partir d'une position différente après la recherche.AVPlayer recherche une mauvaise position dans un flux audio HLS
Voici le code que je utilise:
let cmTime = CMTime(seconds: validTime, preferredTimescale: CMTimeScale(NSEC_PER_SEC))
self.player.seek(to: cmTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero, completionHandler: { (finished) in
self.player.currentTime().seconds
})
j'ai vu que AVFoundation ne fonctionne pas correctement avec les fichiers VBR, mais tous mes fichiers sont CBR. Ils ont tous un débit constant de 128kb/s. J'ai segmenté mon fichier .mp3 en fichiers .ts pour les lire en streaming.
Je voudrais savoir si quelqu'un a une solution à ce problème ou une solution de contournement qui pourrait m'aider avec ce problème.
Merci, les gars!
Merci pour votre réponse! Je ne savais pas sur cette option, peut-être que je peux le tester. J'ai essayé beaucoup de choses pour avoir une plus grande précision et ça marche bien jusqu'à présent ... Merci encore pour cette réponse et de façon différente, je vais la tester plus tard! –