Ios iPhone:通过编程方式使用前置摄像头拍照
我想通过iphone应用程序中的前置摄像头以编程方式拍照Ios iPhone:通过编程方式使用前置摄像头拍照,ios,camera,Ios,Camera,我想通过iphone应用程序中的前置摄像头以编程方式拍照 我不希望用户拾取图像或与图像选择器进行任何交互。。只想拍摄图像并保存在文档中。。这可能吗?编辑:我的错,看起来你实际上可以从AVCaptureSession中完成。虽然我无法确定为什么这是可能的。对我来说,这似乎是一个潜在的虐待理由 原始(错误)答案: 不,没有用户交互就不可能拍照,不管是正面还是背面相机。 因为我可以从你的问题中了解到,AV基金会是你所需要的。 看看这个来自苹果的演示源:试试这个-- -(iAction)扫描按钮已标记
我不希望用户拾取图像或与图像选择器进行任何交互。。只想拍摄图像并保存在文档中。。这可能吗?编辑:我的错,看起来你实际上可以从AVCaptureSession中完成。虽然我无法确定为什么这是可能的。对我来说,这似乎是一个潜在的虐待理由 原始(错误)答案:
不,没有用户交互就不可能拍照,不管是正面还是背面相机。
因为我可以从你的问题中了解到,AV基金会是你所需要的。 看看这个来自苹果的演示源:
试试这个---(iAction)扫描按钮已标记
{
//添加:提供一个条形码读取器,可从摄像头提要进行扫描
ZBarReaderViewController*读卡器=[ZBarReaderViewController新建];
reader.readerDelegate=self;
reader.supportedOrientationMask=zBaroOrientationMaskall;
ZBarImageScanner*scanner=reader.scanner;
//TODO:(可选)此处的附加读卡器配置
//示例:禁用很少使用的I2/5以提高性能
[扫描仪设置符号:ZBAR_I25]
配置:ZBAR_CFG_启用
至:0];
//显示并释放控制器
[自我呈现模式控制器:读卡器
动画:是];
[读者发布];
}
-(无效)imagePickerController:(UIImagePickerController*)读卡器
didFinishPickingMediaWithInfo:(NSDictionary*)信息
{
//添加:获取解码结果
id结果=
[信息对象forkey:ZBarReaderControllerResults];
ZBarSymbol*符号=nil;
用于(结果中的符号)
//示例:只需抓取第一个条形码
打破
//示例:对条形码数据执行一些有用的操作
resultText.text=symbol.data;
bid.text=symbol.data;
//示例:对条形码图像执行一些有用的操作
结果图像=
[info objectForKey:UIImagePickerControllerOriginalImage];
//添加:关闭控制器(注意从*读卡器*!)
[reader dismissModalViewControllerAnimated:是];
}
你可能会这么想,但不是。您可以在用户根本不知道的情况下抓取视频帧,无论是前置摄像头还是后置摄像头。我认为从相机获得高分辨率的静止图像总是会触发快门声音。嗯,但是从什么框架?我认为所有图像捕获框架都提供了用户必须激活才能开始视频/静态图像捕获的UI?请查看AVCaptureSession。设置输入和输出设备并启动会话后,您将在captureOutput:didOutputSampleBuffer:fromConnection:callback中获得相机帧。不需要UI。可能的重复
- (IBAction) scanButtonTapped
{
// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here
// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
config: ZBAR_CFG_ENABLE
to: 0];
// present and release the controller
[self presentModalViewController: reader
animated: YES];
[reader release];
}
- (void) imagePickerController: (UIImagePickerController*) reader
didFinishPickingMediaWithInfo: (NSDictionary*) info
{
// ADD: get the decode results
id<NSFastEnumeration> results =
[info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// EXAMPLE: just grab the first barcode
break;
// EXAMPLE: do something useful with the barcode data
resultText.text = symbol.data;
bid.text=symbol.data;
// EXAMPLE: do something useful with the barcode image
resultImage.image =
[info objectForKey: UIImagePickerControllerOriginalImage];
// ADD: dismiss the controller (NB dismiss from the *reader*!)
[reader dismissModalViewControllerAnimated: YES];
}