【发布时间】:2014-04-11 22:29:31
【问题描述】:
我正在使用这个标准示例将视频从相机显示到 iPhone 屏幕。我可以看到视频,但它被放大了。当我使用标准 iPhone 相机应用程序时,我可以在图片上看到更多内容。
我很确定答案很简单,但我的英语似乎不足以做出正确的搜索词组。
-(void)viewDidLoad
{
[super viewDidLoad];
cameraPreview = [[UIView alloc] initWithFrame:CGRectMake(0,0,720,1280)] ;
[self.view addSubview:cameraPreview] ;
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;
CALayer *viewLayer = cameraPreview.layer;
NSLog(@"viewLayer = %@", viewLayer);
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = cameraPreview.bounds;
[cameraPreview.layer addSublayer:captureVideoPreviewLayer];
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
if (!input) {
// Handle the error appropriately.
NSLog(@"ERROR: trying to open camera: %@", error);
}
[session addInput:input];
[session startRunning];
}
【问题讨论】:
-
我是个白痴。 cameraPreview = [[UIView alloc] initWithFrame:CGRectMake(0,0,720,1280)] ;屏幕为 320 x 568。
标签: ios objective-c avcapturesession