2012-07-23 7 views
7

J'utilise AVplayer pour lire des vidéos dans mon application. J'utilise seekToTime: toleranceBefore: toleranceAfter:AVPlayer Slider cherchant vers l'arrière

à chercher à travers la vidéo à l'aide d'un curseur de sorte que le problème est lorsque vous faites glisser dans vers l'avant, vidéo cherche parfaitement (ressemble à la vidéo se déplace plus vite) mais dans glisser vers l'arrière vidéo regarde saccadée tout en glissant en arrière (fondamentalement pas aussi lisse que les spectacles de la floraison coulissante). Est-ce que quelqu'un sait quel est le problème ou est-ce que je fais quelque chose de mal?

Aidez-nous s'il vous plaît.

+0

Pouvez-vous faire une pause avant de chercher? Je ne suis pas sûr à 100% car je ne l'ai pas essayé. – av501

Répondre

0

Je pense que c'est parce que le tampon devient vide lorsque vous retrouvez en arrière.S'il vous plaît faire un KVO sur la valeur bufferIsEmpty.Il se peut que dans votre application utilise beaucoup de mémoire en termes d'autres ressources.La meilleure façon de tester C'est pour créer un autre projet et essayer le même. Essayez juste d'utiliser AVPlayerQueue au lieu de AVPlayer et voir le résultat.

3

J'avais le même problème sur iPhone. Voici la liste:

  1. Assurez-vous que providesPreciseDurationAndTiming retourne OUI
  2. Assurez-vous canPlayReverse est OUI (Certains codecs ne supportent pas que je suppose.)
  3. Ne pas utiliser la plus haute qualité.

AVCaptureSession utilise par défaut une capture de haute qualité. Vous devez utiliser un paramètre de qualité inférieure si vous souhaitez une inversion douce et soyeuse, même sur l'iPhone 5. Le retour en arrière demande plus de calculs car la plupart des codecs sont optimisés pour la décompression vers l'avant. Pour contourner le problème, si vous avez besoin d'une capture de haute qualité, vous pouvez capturer dans un format haute résolution, l'exporter dans un format basse résolution et l'utiliser pour éditer, puis utiliser les durées pour découper l'image haute résolution d'origine . J'envisage de le faire dans ma propre application.