ビデオからスクリーンショットを取得する必要があります。
私は次の方法を使用しています:
- (UIImage *)screenshotFromPlayerItem:(AVPlayerItem *)player atTime:(CMTime)time
{
CMTime actualTime;
NSError *error;
AVAssetImageGenerator *generator = [[AVAssetImageGenerator alloc] initWithAsset:player.asset];
CGImageRef cgIm = [generator copyCGImageAtTime:time
actualTime:&actualTime
error:&error];
UIImage *image = [UIImage imageWithCGImage:cgIm];
if (nil != error)
{
NSLog(@"Error making screenshot: %@", [error localizedDescription]);
return nil;
}
CFRelease(cgIm);
return image;
}
iOS6では完璧に動作します。しかし、iOS5 を搭載したデバイス (iPhone および iPad) でテストすると、次のメッセージが表示されます。「スクリーンショットの作成中にエラーが発生しました: デコードできません」
動画はmp4です。
解決策はありますか?