【发布时间】:2016-03-30 16:30:39
【问题描述】:
我基于 AVCaptureSession 创建了一个简单的 AVCaptureVideoPreviewLayer,并将图层添加到 UIView。
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
[session addInput:input];
AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
previewLayer.frame = self.cameraView.bounds;
[self.cameraView.layer addSublayer:previewLayer];
[session startRunning];
运行应用程序后,代码似乎运行良好 - 但一段时间后(大约 60. - 90. 秒)视频随机冻结!
我添加了一个按钮来停止和启动 AVCaptureSession,如果我在冻结后按下该按钮,视频将再次开始工作......
有人知道随机停止视频流的原因吗?
【问题讨论】:
标签: ios objective-c avcapturesession