11
votes

AvcapturesSession Pause?

J'utilise la Fondation AV pour capturer des images en permanence après que Apple a publié iOS 4.0 en suivant les codes donnés par, http://developer.apple.com/iphone/library/qa/qa2010 /qa1702.html

Cependant, lorsque j'appelle "[Session StarTrunning];" Il faut environ 1-2 secondes pour lancer l'aperçu de la caméra. Donc, cela est frustrant pour l'utilisateur final, car il doit attendre un certain temps.

Y a-t-il un moyen de mettre en pause la session au lieu de l'arrêter depuis que je peux introduire la session au lancement de programme et la maintenir en pause jusqu'à ce que l'utilisateur navigue sur l'écran de la caméra et commencez à y aller là-bas? Merci pour toute aide.


0 commentaires

3 Réponses :


2
votes

Il n'y a aucun moyen de "mettre en pause" la session, mais vous pouvez commencer la session de capture en marche à tout moment et simplement la laisser courir. Si vous capturez des images fixes, appelez simplement CaptureStillimageAsynchroneConnection dans la zone lorsque vous êtes prêt. Si vous capturez la vidéo, vous pouvez avoir votre CaptureOutput: DidOutPutSampluffer: FromConnection: La méthode du délégué jetez simplement des cadres jusqu'à ce que vous souhaitiez faire quelque chose avec eux. Vous pourriez même être capable de démarrer la session de capture sans un périphérique de sortie tant que vous n'êtes pas prêt (je n'ai pas essayé cela).


0 commentaires

30
votes

au lieu de faire une pause de votre session, vous pouvez plutôt désactiver la connexion d'entrée.

par exemple xxx

de sorte qu'il ne consomme pas les données du périphérique d'entrée.

J'espère que c'est ce que vous recherchez.


0 commentaires

1
votes

C'est ce que j'ai fait pour empêcher l'interface utilisateur de bloquer les 1-2 secondes initiales lorsque vous appelez -startrunning.

1) Add UIActivityIndicator
2) Add observer to AVCaptureSession
3) call -startRunning in a background thread
4) Resume the UI in the notification callback


0 commentaires