2012-02-05 35 views
25

Tôi đang quay video từ máy ảnh iPhone bằng cách sử dụng mã AVCam được cung cấp từ apple.Nhận video chụp nhanh cho hình thu nhỏ

Sau khi video được ghi, nó sẽ được lưu vào thư viện ảnh.

Một chế độ xem mới sau đó được tải, tại đây tôi cần có hình thu nhỏ của video.

Tôi có một đường dẫn đến video:

file://localhost/private/var/mobile/Applications/ED45DEFC-ABF9-4A5E-9102-21680CC1448E/tmp/output.mov 

tôi dường như không thể hình dung như thế nào để có được những khung hình đầu tiên của video để sử dụng như một hình thu nhỏ.

Bất kỳ trợ giúp nào cũng sẽ được đánh giá cao và cảm ơn bạn đã dành thời gian.


EDIT

tôi đã kết thúc sử dụng này, tôi không chắc chắn lý do tại sao nó trả về hình ảnh sang một bên?

- (UIImage*)loadImage { 

    AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:vidURL options:nil]; 
    AVAssetImageGenerator *generate = [[AVAssetImageGenerator alloc] initWithAsset:asset]; 
    NSError *err = NULL; 
    CMTime time = CMTimeMake(1, 60); 
    CGImageRef imgRef = [generate copyCGImageAtTime:time actualTime:NULL error:&err]; 
    NSLog(@"err==%@, imageRef==%@", err, imgRef); 

    return [[UIImage alloc] initWithCGImage:imgRef]; 

} 

Trả lời

45

Để sửa chữa định hướng thu nhỏ thiết appliesPreferredTrackTransform-YES trong AVAssetImageGenerator dụ. Nếu bạn thêm thành phần video của riêng mình, bạn sẽ cần bao gồm biến đổi phù hợp để xoay video theo ý muốn.

generate.appliesPreferredTrackTransform = YES; 

Nhớ tiết lộ tham chiếu hình ảnh thu được với CGImageRelease.

Để yêu cầu nhiều hình thu nhỏ, tốt hơn nên làm không đồng bộ với generateCGImagesAsynchronouslyForTimes:completionHandler:.

+0

+1 Hoàn hảo, cảm ơn !!! – bentford

+0

+1 Đó chính là điều tôi muốn thêm! :) –

+0

Cung cấp cho tôi lỗi AVErrorOperationNotSupportedForAsset. plz help – ruyamonis346

Các vấn đề liên quan