用的UIImagePickerController摄像机源以允许编辑是:视频微调不起作用(UIIma

2019-09-17 09:04发布

我使用UIImagePickerController记录与设置为sourceType的视频UIImagePickerControllerSourceTypeCamera

我已allowsEditing为true。

捕获视频后,我用剪裁界面,按“使用”编辑视频,我只拿回原来的记录不修剪的版本。 我究竟做错了什么?

我使用的是iOS 5。

-(void)shootvideo {
    imagePicker = [[UIImagePickerController alloc] init];
    [imagePicker.view addSubview:test];
    [imagePicker.view addSubview:test2];

    imagePicker.delegate = self;
    imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;

    imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
    imagePicker.showsCameraControls = YES;
    imagePicker.navigationBarHidden = NO;
    imagePicker.toolbarHidden = NO;
    imagePicker.wantsFullScreenLayout = YES;
    imagePicker.allowsEditing=YES;

    [self presentModalViewController:imagePicker animated:YES];
}


-(void) imagePickerController: (UIImagePickerController *) picker
didFinishPickingMediaWithInfo: (NSDictionary *) info 
{
    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];


    if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0)
        == kCFCompareEqualTo) 
    {

        NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];

        //NSLog(@"%@",moviePath);

        if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
            UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil);
        }
    }

    [self dismissModalViewControllerAnimated:YES];  
}

我想根据我的应用程序使用该修剪视频进行进一步的处理。

我要去的地方错了吗?

是否有任何其他的方式来实现这一任务呢?

Answer 1:

allowsEditing:指示用户是否被允许编辑选定的静止图像或电影的布尔值。

@属性(非原子)BOOL allowsEditing

讨论如果允许用户编辑静态图像或视频时,代理可能会收到有关所做的编辑信息的字典。 对于委托的协议中描述UIImagePickerControllerDelegate协议参考。

我认为这将是有益的。



Answer 2:

你需要获取信息[UIImagePickerControllerEditedImage]从 - (空)imagePickerController:(*的UIImagePickerController)选择器didFinishPickingMediaWithInfo:(NSDictionary的*)信息

我相信。



文章来源: UIImagePickerController with camera source with allows editing yes : video trimming doesn't work