2012-12-26 11 views

risposta

7

È possibile utilizzare l'accessorio AVCaptureConnectionvideoMinFrameDuration per impostare il valore.

Vedi l'AVCaptureConnection documentation

consideri output essere AVCaptureVideoDataOutput oggetto.

AVCaptureConnection *conn = [output connectionWithMediaType:AVMediaTypeVideo]; 

if (conn.isVideoMinFrameDurationSupported) 
    conn.videoMinFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 
if (conn.isVideoMaxFrameDurationSupported) 
    conn.videoMaxFrameDuration = CMTimeMake(1, CAPTURE_FRAMES_PER_SECOND); 

Maggiori informazioni, vedere la mia risposta in questo SO question

+0

sono d'accordo con te –

+0

I miei fps sono garantiti che non scendano sotto i miei valori min/max? Come posso ottenere il mio attuale fps attuale, piuttosto che il minimo e il massimo? –

+0

@TylerPfaff hai trovato una risposta alla tua domanda? – Crashalot

10

AVCaptureConnection's videoMinFrameDuration è deprecato.

È possibile utilizzare le proprietà AVCaptureDevice per rilevare gli intervalli di frequenza dei fotogrammi video supportati e può assegnare velocità fotogrammi minime e massime utilizzando le proprietà.

device.activeFormat.videoSupportedFrameRateRanges restituiscono tutte le gamme dei frame rate video supportate dal dispositivo.

device.activeVideoMinFrameDuration e device.activeVideoMaxFrameDuration possono essere utilizzati per specificare le durate dei fotogrammi.

Problemi correlati