Ios4 使用AVFoundation录制到电影文件时出错
这是一个奇怪的问题。我没有在我的项目中更改任何涉及此的代码,但我的视频录制已随机停止工作。当我尝试将电影保存到文件时,出现以下错误: Error Domain=NSOSStatusErrorDomain Code=-12780“操作无法完成。(OSStatus Error-12780)。” 我使用以下代码开始捕获:Ios4 使用AVFoundation录制到电影文件时出错,ios4,avfoundation,video-capture,avcapturesession,Ios4,Avfoundation,Video Capture,Avcapturesession,这是一个奇怪的问题。我没有在我的项目中更改任何涉及此的代码,但我的视频录制已随机停止工作。当我尝试将电影保存到文件时,出现以下错误: Error Domain=NSOSStatusErrorDomain Code=-12780“操作无法完成。(OSStatus Error-12780)。” 我使用以下代码开始捕获: - (void)initVideoCapture { self.captureSession = [[AVCaptureSession alloc] init]; AVCaptur
- (void)initVideoCapture {
self.captureSession = [[AVCaptureSession alloc] init];
AVCaptureDevice *videoCaptureDevice = [self frontFacingCameraIfAvailable];
AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoCaptureDevice error:nil];
[self.captureSession addInput:videoInput];
aMovieFileOutput = [[AVCaptureMovieFileOutput alloc] init];
[self.captureSession addOutput:aMovieFileOutput];
[self detectVideoOrientation:aMovieFileOutput];
[self.captureSession setSessionPreset:AVCaptureSessionPresetMedium];
[self.captureSession startRunning];
}
然后,我从viewController调用此方法以开始录制:
- (void) startRecord {
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSString *newDateString = [outputFormatter stringFromDate:[NSDate date]];
[outputFormatter release];
NSString * fileString = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mov",newDateString]];
recordFileURL = [[NSURL alloc] initFileURLWithPath:fileString];
[aMovieFileOutput startRecordingToOutputFileURL:recordFileURL recordingDelegate:self];
}
这时我得到了这个函数中的错误
- (void)captureOutput:(AVCaptureFileOutput*)captureOutput DIDFINISHERDINGTOOUTPUTFILEATURL:(NSURL*)outputFileURL fromConnections:(NSArray*)连接错误:(NSError*)错误
真正奇怪的是,它有时是随机工作的。比如,我将编译这个项目,它将在100%的时间内工作。下次我编译时,它将工作0%。我可能做错了什么?有什么明显的问题吗?这似乎是苹果的一个缺陷。我通过使用AVAssetWriter和AVAssetWriterInput解决了这个问题,当设备的方向为UIDeviceOrientationFaceUp、UIDeviceOrientationFaceDown和UIDeviceOrientationUnknown时,我得到了-12780。由于重新编码的视频的方向必须是纵向的或横向的,所以你会出错。我必须写一个快速的方法来检查这三个问题,然后把它们转换成肖像。你能提供更多关于如何解决这个问题的细节吗?谢谢你说得对。我也遇到了这个问题。你能告诉我你是如何翻译这个方向的吗?我不知道如何更改它。它是只读的。谢谢~~