2010-02-08 5 views
5

Tôi đang sử dụng UIImagePickerController để quay video có số sourceType được đặt thành UIImagePickerControllerSourceTypeCamera.UIImagePickerController với nguồn camera: video cắt tỉa không hoạt động

Tôi đã đặt allowsEditing thành true để có thể chỉnh sửa video trước khi bộ chọn trả về. Nhưng sau khi tôi chỉnh sửa video bằng cách sử dụng giao diện trang trí và nhấn "Chọn", tôi chỉ lấy lại bản ghi gốc trong đại biểu chứ không phải phiên bản được cắt. Tôi đang làm gì sai? Tôi đang sử dụng hệ điều hành iPhone 3.1.3. Tôi nhớ điều này được sử dụng để làm việc trong một phiên bản trước đó nhưng nó có vẻ là không trong hệ điều hành mới nhất. Bất kỳ trợ giúp được đánh giá cao?

Bằng cách này tôi xác nhận rằng nếu nguồn của video là UIImagePickerControllerSourceTypeSavedPhotosAlbum, trang trí hoạt động trong phiên bản 3.1.3. Vì vậy, trang trí với nguồn như máy ảnh là không. Thật thú vị với camera-roll/photos-album là nguồn, nút "Chọn" xuất hiện và ngay sau khi nhấp vào nó, bộ điều khiển hiển thị thông báo cho biết "Video đang được cắt ...". Tôi không nhận được thông báo này khi sử dụng nguồn camera.

Đây là đoạn mã tôi đang sử dụng để quay video bằng nguồn camera.

- (void) recordVideo { 
    UIImagePickerController *picker = [[UIImagePickerController alloc] init]; 
    picker.delegate = self; 
    picker.allowsEditing = YES; 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera; 
    picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie]; 
    picker.videoQuality = UIImagePickerControllerQualityTypeHigh; 

    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
} 

thi đại biểu của tôi là như sau:

- (void)imagePickerController:(UIImagePickerController *)picker 
didFinishPickingMediaWithInfo: (NSDictionary *)info { 

    [picker dismissModalViewControllerAnimated:YES]; 
    self.videoPath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; 
    ... 
} 

Thanks a lot,

kris.

Trả lời

0

Chỉ cần chạy vào chính bản thân mình ... và tìm thấy bài đăng này khi tìm kiếm giải pháp.

trông giống như là cách duy nhất xung quanh này là để sao chép các tập tin vào thư mục của ứng dụng, sau đó mở UIVideoEditorController ...

Bất cứ ai cũng biết nếu UIImagePickerController mới bắt video này không được tỉa vấn đề là một lỗi trong SDK, hay chúng ta đang làm gì sai?

+0

Có vẻ cố ý: Sau khi người dùng chỉnh sửa mục đã chọn — chẳng hạn như bằng cách cắt xén hình ảnh hoặc cắt xén phim — URL tiếp tục trỏ đến phiên bản gốc của mục đã chọn. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIImagePickerControllerDelegate_Protocol/UIImagePickerControllerDelegate/UIImagePickerControllerDelegate.html#//apple_ref/doc/uid/TP40007069 – James

+3

Không, nó không phải là đơn giản. Khi chọn một hình ảnh, cả hình ảnh đã chỉnh sửa và hình ảnh gốc đều được trả lại. Và khi chọn một video có sorceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum, một video đã cắt được trả lại. Quan sát, bất cứ khi nào một đoạn video không được trả về được trả về, dict cũng chứa các khóa @ "_ UIImagePickerControllerVideoEditingStart" và @ "_ UIImagePickerControllerVideoEditingEnd" với thời gian bắt đầu và thời gian dừng được cắt (tính bằng giây). Tôi đoán rằng chúng ta phải tìm kiếm chúng và tự mình cắt tỉa (nếu có) – wombat57