Chcę zrobić zdjęcie aparatem za pomocą AVCaptureSession.iOS: orientacja kamery
Działa dobrze, uruchamiam kamerę i mogę uzyskać dane wyjściowe. Mam jednak pewne problemy z orientacją wideo, gdy obracam urządzenie.
Po pierwsze, chcę wspierać krajobraz lewy i prawy orientacje i mogą być tryby portretowe też później.
zaimplementować:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation{
return UIInterfaceOrientationIsLandscapse(interfaceOrientation);
}
Kiedy obrócić urządzenie obraca aplikację krajobraz z lewej do prawej lub odwrotnie krajobrazu, ale widzę tylko aparat poprawnie, kiedy jestem na poziomym lewo. Gdy aplikacja jest ustawiona poziomo, wideo obraca się o 180 stopni.
Dziękuję bardzo.
Aktualizacja:
Próbowałem Spectravideo328 odpowiedź, ale mam błąd, gdy próbuję obrócić urządzenie i aplikacja katastrofę. Jest to błąd:
[AVCaptureVideoPreviewLayer connection]: unrecognized selector sent to instance 0xf678210
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AVCaptureVideoPreviewLayer connection]: unrecognized selector sent to instance 0xf678210'
Błąd występuje w tej linii:
AVCaptureConnection *previewLayerConnection=self.previewLayer.connection;
umieścić go wewnątrz metody shouldAutorotateToInterfaceOrientation. Czy wiesz, co może być przyczyną tego błędu?
Dzięki
To rozwiązanie nie działa dla mnie. Nic nie robi ... Rozwiązuję problem za pomocą [self.prevLayer setOrientation: [[UIDevice currentDevice] orientacja]]. Ale setOrientation jest przestarzałe, więc nie jest dobrym rozwiązaniem. Dzięki –
@ A.Vila, wspomniałeś w pytaniu, orientacji kamery, a nie orientacji warstwy podglądu. Dla przyszłego odniesienia, AVCaptureSession tworzy 2 oddzielne połączenia (dla warstwy podglądu i wyjścia kamery) i będziesz musiał obracać oba oddzielnie !. Zaktualizowałem swoją odpowiedź do powyższej orientacji warstwy podglądu. – Spectravideo328
Dzięki za odpowiedź. Próbowałem, ale mam błąd. Aktualizuję pytanie, podając informacje o błędzie. Czy wiesz, jaki jest problem? Wielkie dzięki. –