W aplikacji, którą właśnie rozwijam, chciałbym pozwolić użytkownikowi wybrać rozdzielczość nagrywania wideo. Ze względu na specyfikację nie mogę używać stałych AVCaptureSessionPreset
.
Uzyskiwanie listy formatów są rozdzielczości powyżej 3000px, które oczywiście nie mogą działać do przechwytywania wideo, ale tylko do fotografowania.
Dowiedz się, czy AVCaptureDeviceFormat pasuje do nagrywania wideo
AVCaptureDeviceFormat: 0x17020c830 'vide'/'420F' 3264x2448 {2- 30 FPS} HRSI: 3264x2448, pole widzenia: 58,040, max Powiększenie: 153.00 (skaluje @ 1,00), AF systemu: 2 , ISO: 29.0-1856.0, SS: 0.000013-0.500000
Nie mogę znaleźć sposobu sprawdzenia, czy określony format nadaje się do nagrywania wideo.
Problem polega na tym, że przy takiej rozdzielczości, gdy próbuję pobrać film, aplikacja generuje wyjątek informujący, że nie ma aktywnego lub włączonego połączenia.
- [AVCaptureMovieFileOutput startRecordingToOutputFileURL: recordingDelegate:] - aktywny/włączony połączenia.
Nie chcę również limitować kodów twardych dla każdego rodzaju urządzenia.
Nie mogę również próbować ograniczyć limitu do AVCaptureSessionPresetHigh
, ponieważ jak podano w Apple note, nie jest to faktyczny format maksymalny.
Czy istnieje sposób na zrozumienie, czy AVCaptureDeviceFormat nadaje się do przechwytywania wideo?
Dziękujemy za opublikowanie tego rozwiązania! – AlexeyVMP
Rewizja. Dobry pomysł na debugowanie i testowanie rzeczy, ale nie na kod produkcyjny, ponieważ przejście przez wszystkie formaty na iPhone 5s zajmuje kilka sekund. Wygląda na to, że aplikacja zawiesiła się. –