Подтвердить что ты не робот

UIImagePickerController позволяет Editing = YES, получение необработанного видео после обрезки

Проблема:

Когда я записываю видео в свой UIImagePickerController с allowEditing, установленным в YES, а затем обрезает видео, используя интерфейс trim, который появляется после захвата видео, я возвращаю исходное видео, а не обрезанное.

Настройка:

Я использую UIImagePickerController для захвата видео, а свойство allowsEditing установлено в YES. В методе делегата didFinishPickingMediaWithInfo я использую UIImagePickerControllerMediaURL из info NSDictionary, чтобы получить URL-адрес пути. Официальные документы Apple, к сожалению, не упоминают ни одного редактируемого URL-адреса видео.

Код:

- (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];
    }
}

Я понимаю, что этот вопрос похож на другой , который размещен здесь на SO, но не было окончательного ответьте, почему это не работает или почему опция даже там. Если это так, я не понимаю, почему существует свойство allowEditing для сборщика.

EDIT: в словаре информации я получил следующие клавиши:

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";
}

Означает ли это, что мы должны сами обрезать эти данные? Тогда документация Apple не совсем понятна. Если да, то знаете ли вы о хорошей практике для этого?

4b9b3361

Ответ 1

взгляните на выделенный ответ на этот пост:

Как обрезать видео с помощью AVFoundation

Я думаю, это именно то, что вы хотите. Ответ также использует UIImagePickerController.

Надеюсь, что это поможет, Мариу