2012-04-13 34 views
2

Ich versuche, etwas Objektiv-c-Code zu schreiben, der die Aufnahme von Bildern durch die iPhone-Kamera nach einer bestimmten Zeitverzögerung ermöglicht. Alle Beispiele, die ich online gefunden habe, haben den von der Kamera eingegebenen "aktuellen" Bildrahmen erfasst (d. H. Eine Echtzeit-Bildaufnahme). Ich bin auf der Suche nach einer weniger Echtzeit-Bildaufnahme - eine Möglichkeit, Bilder mit einer bestimmten Zeitverzögerung zu erfassen. Irgendwelche Ideen?Bilder mit Zeitverzögerung erfassen - iPhone Kamera

Antwort

1

Ich würde NSTimer verwenden. Es würde Ihnen erlauben, den Code zu verwenden, der den aktuellen Rahmen erfasst, und er würde nach einer Verzögerung aufgerufen werden.

Sie können einen nicht wiederholenden Zeitgeber wie folgt erstellen: timer = [NSTimer scheduledTimerWithTimerInterval:delay target:self selector:@selector(capture) userInfo:nil repeats:NO];delay wo die spezifische Zeitverzögerung und capture ist eine Methode, die den Code aus einem Beispiel enthält, die den gegenwärtigen Rahmen einfängt.

0

Verwenden Sie folgenden Code .....

// Call-Methode nach Ihrer Verzögerung, die Sie ..... brauchen

float yourdelay; 
    yourdelay = 0.7; 
    [self performSelector:@selector(captureView) withObject:nil afterDelay:yourdelay]; 

// oder Abbindezeit Methode für den Aufruf ...

.
[NSTimer scheduledTimerWithTimeInterval:0.02 target: self selector:@selector(captureView) userInfo:nil repeats:NO]; 

/// oder Sie Methode direkt aufrufen können, wenn Sie benötigen ..

[self captureView]; 

//// Hier der Code für die Aufnahme von Echtzeitbildern.

- (void)captureView { 

UIGraphicsBeginImageContext(mapView.frame.size); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
flickerImaveView.image=viewImage;  
} 

Hoffnung das wird Ihnen helfen ....