2015-01-07 2 views
4

사전 설정으로 AVCaptureSessionPresetHigh은 나에게 많은 의미가 있습니다. 하드웨어가 항상 바뀌고 AVCapture에게 "현재 하드웨어를 제공 할 수있는 최고의 품질을 원한다"고 말할 수있는 옵션이 있다는 의미가 있습니다. 세션을 추상적 인 값으로 설정하기 때문에 , 그것이 보여주는 해상도를 알 필요가 없다는 것을 의미하지는 않습니다.후면 및 전면 카메라 모두에 대한 AVCaptureSessionPresetHigh의 모든 해상도는 무엇입니까?

현재 해상도를 파악하는 유일한 방법은 실제로 프레임을 캡처하고 해당 프레임의 크기를 확인하는 것입니다. 또는 더 나쁜 것은 수동으로 이러한 모든 해상도를 찾고, 검색 사전을 만들고, 장치에 모델인지 묻고 하드 코딩 된 해상도를 가져옵니다. 이것은 완전한 해킹이지만 여전히 프레임 캡처를 강요 한 다음 프레임 크기에 대해 UIImage에 요청하는 것보다 낫습니다.

카메라가 제공하는 종횡비에 따라 동적으로 결정을 내리기 위해서는이 정보가 절실히 필요합니다. 사과가 그런 간단한 쿼리를위한 인터페이스를 가지고 있지 않은 이유는 무엇입니까?

전체 사과 하드웨어 시장에서 두 카메라의 가능한 모든 해상도를 나열하는 리소스를 아는 사람이 있습니까? 나는 어떤 식으로도 Google을 할 수 있지만 전체 목록을 추적 할 수는 없습니다.

+0

지금이 문서를 살펴보면 올바른 방향으로 나를 꼼짝 못하게 해줘서 고마워. @ 롭! –

+1

@Rob Brilliant !! 이것은 완벽하게 작동합니다. 나는 이것이 왜 그렇게 알아 내기가 어려웠는지 모른다. 이렇게 불가능하다고 제안하는 많은 게시물이 있습니다. –

답변

2

AVCaptureDevice을 감안할 때, 당신은 formats에서 열거 나 activeFormat을 조사하고 그 결과 AVCaptureDeviceFormathighResolutionStillImageDimensions 볼 수 있어야합니다.

+0

오, 'highResolutionStillImageDimensions'는 ios8 전용입니다. ios7의 모든 트릭은? –

+0

아니요, 그러면 이전 iOS 버전에서 프레임을 캡처하는 것이 가장 좋은 대안 일 수 있습니다. – Rob