我从UIImagepickercontroller的[info objectForKey:UIImagePickerControllerMediaURL]的方法中获取inputurl didFinishPickingMediaWithInfo

NSURL *inputURL = [NSURL URLWithString:inputurlstring];

我从这段代码给outputurl
        NSString  *documentsDirectory = [paths objectAtIndex:0];
        NSString *videoPath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"capturedvideo.MOV"];
        NSURL *outputURL = [NSURL fileURLWithPath:videoPath];

我使用以下代码来获取低质量的视频
 - (void)convertVideoToLowQuailtyWithInputURL:(NSURL*)inputURL
    outputURL:(NSURL*)outputURL
    handler:(void (^)(AVAssetExportSession*))handler
    {

    [[NSFileManager defaultManager] removeItemAtURL:outputURL error:nil];
    AVURLAsset *asset = [AVURLAsset URLAssetWithURL:inputURL options:nil];
    AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetLowQuality];
    exportSession.outputURL = outputURL;
    exportSession.outputFileType = AVFileTypeQuickTimeMovie;

    [exportSession exportAsynchronouslyWithCompletionHandler:^(void)
    {
    if (exportSession.status == AVAssetExportSessionStatusCompleted)
    {
    printf("completed\n");

    }
    else
    {
    printf("error\n");
    NSLog(@"error is %@",exportSession.error);

    }

    }];
}

仅使用大文件时出现以下错误。因为当我使用小尺寸的视频文件时,没有出现任何错误。
Error Domain=NSURLErrorDomain Code=-1 "unknown error" UserInfo=0x616d890
 {NSErrorFailingURLStringKey=/private/var/mobile/Applications/EE1E6701-EED0-4830-BD1D-7366680713C0/tmp//trim.7mL7VS.MOV, NSErrorFailingURLKey=/private/var/mobile/Applications/EE1E6701-EED0-4830-BD1D-7366680713C0/tmp//trim.7mL7VS.MOV, NSLocalizedDescription=unknown error, NSUnderlyingError=0x2d1460 "The operation couldn’t be completed. (OSStatus error -12935.)", NSURL=/private/var/mobile/Applications/EE1E6701-EED0-4830-BD1D-7366680713C0/tmp//trim.7mL7VS.MOV}

最佳答案

上面的代码是完美的作品。唯一的变化是inputURL。

在将inputURL更改为fileURLWithPath之后:

 NSURL *inputURL = [NSURL fileURLWithPath:inputurlstring];

现在,它完美地工作了。

关于iphone - UIImagepickercontroller : converting to low quality video error,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14872953/

10-10 00:57