我正在尝试编写一些objective-c代码,允许在特定时间延迟后通过iPhone相机捕获帧。我在网上找到的任何示例都捕获了相机输入的“当前”帧(即实时帧捕获)。我正在寻找一种不太实时的帧捕获 - 一种捕获具有特定时间延迟的帧的方法。有任何想法吗?
问问题
850 次
2 回答
1
我会用NSTimer
. 它将允许您使用捕获当前帧的代码,并在延迟后调用它。
您可以像这样创建一个非重复计时器:具体时间延迟timer = [NSTimer scheduledTimerWithTimerInterval:delay target:self selector:@selector(capture) userInfo:nil repeats:NO];
在哪里,并且是一个方法,其中包含来自捕获当前帧的示例中的代码。delay
capture
于 2012-04-13T01:43:29.613 回答
0
使用以下代码.....
//根据你需要的延迟调用方法.....
float yourdelay;
yourdelay = 0.7;
[self performSelector:@selector(captureView) withObject:nil afterDelay:yourdelay];
// 或者设置调用方法的时间....
[NSTimer scheduledTimerWithTimeInterval:0.02 target: self selector:@selector(captureView) userInfo:nil repeats:NO];
///或者您可以在需要时直接调用方法..
[self captureView];
////这里是捕获实时图像的代码。
- (void)captureView {
UIGraphicsBeginImageContext(mapView.frame.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
flickerImaveView.image=viewImage;
}
希望对你有帮助....
于 2012-04-13T04:17:54.783 回答