错误域=AVFoundationErrorDomain代码=-11814“无法录制”

问题描述 投票:0回答:5

它一直给我错误:

错误域=AVFoundationErrorDomain代码=-11814“无法录制”

我不知道问题出在哪里?我正在尝试在拍照后计数器达到 1 时录制声音。

static int counter;
//counter will always be zero it think unless it is assigned.


if (counter == 0){

dispatch_async([self sessionQueue], ^{
    // Update the orientation on the still image output video connection before capturing.
    [[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] setVideoOrientation:[[(AVCaptureVideoPreviewLayer *)[[self previewView] layer] connection] videoOrientation]];

    // Flash set to Auto for Still Capture
    [AVCamViewController setFlashMode:AVCaptureFlashModeAuto forDevice:[[self videoDeviceInput] device]];

    // Capture a still image.
    [[self stillImageOutput] captureStillImageAsynchronouslyFromConnection:[[self stillImageOutput] connectionWithMediaType:AVMediaTypeVideo] completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {

        if (imageDataSampleBuffer)
        {//[AVCaptureSession snapStillImage];
            NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
            UIImage *image = [[UIImage alloc] initWithData:imageData];
            [[[ALAssetsLibrary alloc] init] writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:nil];
        }
        NSLog(@"i");
    }];
});

    if (!_audioRecorder.recording)
{
   //start recording as part of still image

    _playButton.enabled = NO;
    _stopButton.enabled = YES;
    [_audioRecorder record];

    for(int i=0;i<1000;i++)
    {
        //do nothing just counting
    }

    //stop the recording
}

}

else if (counter == 1)

{
    [self recordForDuration:5];
}


}
ios objective-c avfoundation record
5个回答
12
投票

这个错误是因为你使用模拟器,你需要使用设备

问候


4
投票

确保只有一个

AVCaptureSession
实例正在运行。


2
投票

让您的设备在“设置 > 常规 > 限制”下限制相机访问也会给您带来此错误。


0
投票

当我在 Mac 上使用 Mac Catalyst 应用程序尝试 AVFoundation 时,遇到了同样的错误。显然,这是有记录的和预期的行为:

https://forums.developer.apple.com/thread/124652#389519

https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture

这个问题的表现符合预期。我们确实记录了我们未列出的内容 Catalyst 模式下的设备。请参阅在 macOS 中运行的重要 iPad 应用 无法使用 AVFoundation Capture 类。这些应用程序应该改为 使用 UIImagePickerController 进行照片和视频捕获。


0
投票

我可以与相机相关,你忘记获取有关设备相机的信息

© www.soinside.com 2019 - 2024. All rights reserved.