我想知道是否有人愿意分享如何将相机功能放入iOS应用程序,或者如果有人知道一个简单的教程.没有任何按钮,只是在屏幕上显示相机看到的内容.我尝试过Apple的文档,但它对我的需求来说太复杂了.
非常感谢!
编辑:任何简单的教程都可以.就像我说的,我不需要任何其他东西,除了它以显示相机看到的东西.
我想在特定情况下捕获图像,例如按下按钮时; 但我不想显示任何视频预览屏幕.我想captureStillImageAsynchronouslyFromConnection是我需要用于此场景的东西.目前,如果我显示视频预览,我可以捕获图像.但是,如果我删除代码以显示预览,应用程序将崩溃并显示以下输出:
2012-04-07 11:25:54.898 imCapWOPreview [748:707]***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'*** - [AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] - 传递了非活动/无效连接. "***第一掷调用堆栈:(0x336ee8bf 0x301e21e5 0x3697c35d 0x34187 0x33648435 0x310949eb 0x310949a7 0x31094985 0x310946f5 0x3109502d 0x3109350f 0x31092f01 0x310794ed 0x31078d2d 0x37db7df3 0x336c2553 0x336c24f5 0x336c1343 0x336444dd 0x336443a5 0x37db6fcd 0x310a7743 0x33887 0x3382c)终止叫做抛出异常(LLDB)
所以这是我的实现:
BIDViewController.h:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface BIDViewController : UIViewController
{
AVCaptureStillImageOutput *stillImageOutput;
}
@property (strong, nonatomic) IBOutlet UIView *videoPreview;
- (IBAction)doCap:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)
BIDViewController.m中的相关人员:
#import "BIDViewController.h"
@interface BIDViewController ()
@end
@implementation BIDViewController
@synthesize capturedIm;
@synthesize videoPreview;
- (void)viewDidLoad
{
[super viewDidLoad];
[self setupAVCapture];
}
- …Run Code Online (Sandbox Code Playgroud)