【发布时间】:2018-10-15 20:04:37
【问题描述】:
我已经创建了 AVCaptureSession 和预览层,但是如何开始录制视频?
这是我的代码..
AVCaptureSession *session = [[AVCaptureSession alloc] init];
[session setSessionPreset:AVCaptureSessionPresetPhoto];
AVCaptureDevice *inputDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:inputDevice error:&error];
if ([session canAddInput:deviceInput]) {
[session addInput:deviceInput];
}
AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[previewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
CALayer *rootLayer = [[self view] layer];
[rootLayer setMasksToBounds:YES];
CGRect frame = self.view.frame;
[previewLayer setFrame:frame];
[rootLayer insertSublayer:previewLayer atIndex:0];
AVCaptureVideoDataOutput *videoOutput = [[AVCaptureVideoDataOutput alloc] init];
videoOutput.videoSettings = nil;
[session addOutput:videoOutput];
[session startRunning];
现在我希望它在我按下按钮时开始录制,并且在我完成录制后,它将视频保存在相机胶卷中,那该怎么做呢?
谢谢。
【问题讨论】:
-
致电
startRecordingToOutputFileURL:。苹果为此提供了出色的示例代码。
标签: ios objective-c iphone ios7 avfoundation