2

我正在尝试编写一些objective-c代码,允许在特定时间延迟后通过iPhone相机捕获帧。我在网上找到的任何示例都捕获了相机输入的“当前”帧(即实时帧捕获)。我正在寻找一种不太实时的帧捕获 - 一种捕获具有特定时间延迟的帧的方法。有任何想法吗?

4

2 回答 2

1

我会用NSTimer. 它将允许您使用捕获当前帧的代码,并在延迟后调用它。

您可以像这样创建一个非重复计时器:具体时间延迟timer = [NSTimer scheduledTimerWithTimerInterval:delay target:self selector:@selector(capture) userInfo:nil repeats:NO];在哪里,并且是一个方法,其中包含来自捕获当前帧的示例中的代码。delaycapture

于 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 回答