我正在调用此takePicture
函数5次,因为我需要在onclick(突发模式)上拍摄5张照片
for(count=0;count<5;count++)
{
[picker takePicture];
[NSThread sleepForTimeInterval:0.5];
[[NSRunLoop currentRunLoop] runMode: NSDefaultRunLoopMode beforeDate: [NSDate date]];
}
我收到此错误UIImagePickerController: ignoring request to take picture; image is already being captured or camera not yet ready
。
答案 0 :(得分:0)
不确定,但我认为相机还没有准备好......因为你试图连续捕捉图像......我想你必须要再延迟几秒才能再次拍照拍照.....不要做它在for循环中我想建议你使用NSTimer
而不是循环。
这样的事情 -
声明
-(void)startTimer;
和
int count;
你的.h课程中的然后看下面的代码 -
-(void)yourTakePictureButtonClick:(id)sender
{
[self startTimer];
}
-(void)startTimer
{
count = 0;
yourTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(myFunctionForClickImage) userInfo:nil repeats:YES];
}
-(void)myFunctionForClickImage
{
[picker takePicture];
count ++;
if (count < 5)
{
[yourTimer invalidate];
}
}
答案 1 :(得分:0)
Hi H2SO4(Nice Name han)
最可能的原因似乎是info.plist文件中缺少必需的密钥。您需要配置UIRequiredDeviceCapabilities
。此外,您必须实现委托对象。有关详细信息,请查看
HTH,
你应该在循环内的每个调用中释放你的资源。
您可以延迟跟随。
[picker performSelector:@selector(takePicture) withObject:nil afterDelay:2.0];
更多信息,请访问...
http://highoncoding.com/Articles/856_Building_Instagram_for_the_iPhone_Part_2.aspx