Проблема:
Когда я записываю видео в свой 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 не совсем понятна. Если да, то знаете ли вы о хорошей практике для этого?