gpt4 book ai didi

ios - 使用 AVCaptureSession 开始录制视频

转载 作者:行者123 更新时间:2023-11-29 12:31:08 25 4
gpt4 key购买 nike

我已经创建了 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];

现在我想让它在我按下按钮时开始录制,并在我完成录制后将视频保存到相机胶卷,那么该怎么做呢?

谢谢。

最佳答案

如果你想录制你可以使用的文件,你可以使用 AVCaptureMovieFileOutput ,像这样添加到你的 AVCaptureSession

 AVCaptureMovieFileOutput *movieFileOutput = [[AVCaptureMovieFileOutput alloc] init];

if ([session canAddOutput:movieFileOutput]) {
[session addOutput:movieFileOutput];
}

然后使用 AVCaptureMovileFileOutput 方法 startRecordingToOutputFileURL 开始录制到某个 URL..

希望对你有帮助

丹尼尔

关于ios - 使用 AVCaptureSession 开始录制视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27660948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com