UIImagePickerController允许编辑= YES,修剪后获得未修剪的视频

The*_*ter 11 iphone video uiimagepickercontroller ipad ios

问题:

当我在UIImagePickerControllerallowEditing设置为YES的情况下录制视频,然后使用视频捕获后的trim-interface修剪视频时,我返回原始视频,而不是修剪过的视频.

建立:

我正在使用UIImagePickerController视频捕获,allowsEditing属性设置为YES.在delegate方法中didFinishPickingMediaWithInfo,我使用UIImagePickerControllerMediaURLinfo NSDictionary来获取路径URL.官方的Apple文档遗憾的是没有提到任何已修改的视频网址.

码:

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

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

        self.tempVideoPath = [[info objectForKey:
                                UIImagePickerControllerMediaURL] path];
    }
}
Run Code Online (Sandbox Code Playgroud)

我意识到这个问题类似于其他 的人在这里张贴在SO,但没有明确的答案,为什么它不工作或者为什么选择是即使在那里.如果它是这样的,我不明白为什么选择器有'allowsEditing'属性.

编辑:在我收到的信息词典中有以下键:

info: {
    UIImagePickerControllerMediaType = "public.movie";
    UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/F12E4608-FE5A-4EE3-B4E2-8F7D2508C4C8/tmp/capture-T0x21d810.tmp.wabFCC/capturedvideo.MOV";
    "_UIImagePickerControllerVideoEditingEnd" = "5.498333333333333";
    "_UIImagePickerControllerVideoEditingStart" = "4.273402690887451";
}
Run Code Online (Sandbox Code Playgroud)

这是否意味着我们必须自己修剪这些数据?那么Apple文档对此并不十分清楚.如果是这样,你知道一个好的做法吗?

Már*_*lho 5

看一下这篇文章中突出显示的答案:

如何使用AVFoundation修剪视频

我认为这正是你想要的.答案也使用了UIImagePickerController

希望它有所帮助, 马里奥