2

ビデオからスクリーンショットを取得する必要があります。

私は次の方法を使用しています:

- (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です。

解決策はありますか?

4

1 に答える 1

2

私は多くのメディア アクション (私は 4 つの AVPlayer を持っています) を使用していますが、それが機能しない理由です!

于 2013-04-30T15:03:36.593 に答える