2012-02-05 8 views
25

Appleから提供されたAVCamコードを使用してiPhoneカメラからビデオを録画しています。サムネイルのビデオスナップショットを取得する

ビデオが記録されると、写真ライブラリに保存されます。

新しいビューがロードされます。ここでは、ビデオのサムネイルが必要です。

私はビデオへのパスを持っている:

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

私がサムネイルとして使用するために、ビデオの最初のフレームを取得する方法を見つけ出すように見えることはできません。

ご協力いただきありがとうございます。ありがとうございます。私はこれを使用して終了


EDIT、私はそれが画像を横に返す理由はわからないんだけど?

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

} 

答えて

45

修正サムネイルの向きはAVAssetImageGeneratorインスタンスにYESappliesPreferredTrackTransformを設定しました。独自の動画コンポジションを追加する場合は、動画を必要に応じて回転させるために適切な変換を含める必要があります。

generate.appliesPreferredTrackTransform = YES; 

CGImageReleaseで保存してください。

複数のサムネイルをリクエストする場合は、generateCGImagesAsynchronouslyForTimes:completionHandler:と非同期で行う方がよいでしょう。

+0

+1完璧、ありがとう! – bentford

+0

+1これはまさに私が追加したかったものです! :) –

+0

エラーAVErrorOperationNotSupportedForAssetを返します。 plz help – ruyamonis346

関連する問題