UIImageView を使用して、.mov ファイルの表示フレーム、ファインダーや YouTube ビデオなどで表示されるプレビュー フレームを表示するにはどうすればよいですか?
アプリ ライブラリ ディレクトリに保存された .mov ファイルからプレビュー フレームを取得できるようにしたいので、AVAsset にはなりません。
UIImageView を使用して、.mov ファイルの表示フレーム、ファインダーや YouTube ビデオなどで表示されるプレビュー フレームを表示するにはどうすればよいですか?
アプリ ライブラリ ディレクトリに保存された .mov ファイルからプレビュー フレームを取得できるようにしたいので、AVAsset にはなりません。
AVAssetImageGenerator
AVFoundationのを使用して、アルバムとローカル アプリ ディレクトリの両方にビデオをロードできます。
これは、特定の時間間隔でビデオ URL (アプリの内部または外部) から画像を返すヘルパー メソッドです。
+ (UIImage *)thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time {
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoURL options:nil];
NSParameterAssert(asset);
AVAssetImageGenerator *assetImageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
assetImageGenerator.appliesPreferredTrackTransform = YES;
assetImageGenerator.apertureMode = AVAssetImageGeneratorApertureModeEncodedPixels;
CGImageRef thumbnailImageRef = NULL;
CFTimeInterval thumbnailImageTime = time;
NSError *thumbnailImageGenerationError = nil;
thumbnailImageRef = [assetImageGenerator copyCGImageAtTime:CMTimeMake(thumbnailImageTime, 60) actualTime:NULL error:&thumbnailImageGenerationError];
NSAssert(thumbnailImageRef, @"CGImageRef shall never be nil.");
UIImage *thumbnailImage = thumbnailImageRef ? [[UIImage alloc] initWithCGImage:thumbnailImageRef] : nil;
return thumbnailImage;
}