iPhone: Caméra avant / arrière AVCAdeviceViceInput lors du traitement des cadres individuels via SetsampleBufferDelegate

StackOverflow https://stackoverflow.com//questions/9662897

Question

J'ai rencontré un problème intéressant lorsque je tente de passer d'utiliser la caméra avant à l'aide de la caméra arrière lors du traitement des cadres individuels via l'avCaptureVideodataOutput: Sélecteur SetSampleBufferDelegate. Les œuvres d'échange de caméra et l'écran de prévisualisation que je affiche semble super, c'est que les cadres résultants que je capturent ne sont plus en mode portrait, ils sont dans le paysage. En outre, l'échange de l'avant puis de la caméra arrière entraînera la caméra arrière capturer des cadres paysagers. Je soupçonne que, étant donné que c'est le cas, quelque chose se fait baiser lorsque je échange de l'entrée - ce n'est pas l'entrée incorrecte. J'ai vérifié cette théorie en démarrant l'avCapture de la caméra face avant - les cadres passés au délégué tampon sont correctement en mode portrait. J'ai également joué avec explicitement l'arrêt de l'avCaptures de l'appareil lorsque la saisie de l'appareil est en train d'être échangée sans différence de résultats.

J'ai cracelé de la démo AVCAM pour l'inspiration. La différence suspecte entre ce code et le mien est qu'elle enregistre à un avCapturemoviefieOutput - il ne traite pas de cadres individuels.

Des idées? Pourquoi l'orientation des trames étant-elle envoyée à mon processeur changera-t-elle lorsque je échange-t-il la saisie de l'appareil?

Merci pour une réponse!

Était-ce utile?

La solution

ah ha!Je l'ai compris.Pour une raison quelconque après la commutation de l'entrée du périphérique, la sortie vidéo AvcapTuReconnection de la sortie vidéo obtenait son orientation réinitialisée au paysage.Pour résoudre le problème, après avoir échangé l'entrée, je demande explicitement à l'avcaptureconnection de la sortie vidéo de définir son orientation en portrait.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top