如何从 iOS 中的自定义视频播放器屏幕捕获静止图像?
How to capture still image from custom video player screen in iOS?
我只是使用 AVFoundation
库的 AVPlayer* myPlayer 创建了我自己的自定义视频播放器。现在我想从 运行 上 UIButton
上播放的视频中捕捉视频的书签图像,点击 action
。单击 UIButton
它会拍摄播放器屏幕快照并存储在文档目录中。
请建议我该怎么做?
先感谢您。
AVAsset *asset = [AVAsset assetWithURL:sourceURL];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
CMTime time = CMTimeMake(1, 1);
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef); // CGImageRef won't be released by ARC
参考Link:
Create a thumbnail or image of an AVPlayer at current time
AVAsset *asset = [AVAsset assetWithURL:videoURL];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
imageGenerator.appliesPreferredTrackTransform=TRUE;
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:player.currentTime
actualTime:NULL error:NULL];
我只是使用 AVFoundation
库的 AVPlayer* myPlayer 创建了我自己的自定义视频播放器。现在我想从 运行 上 UIButton
上播放的视频中捕捉视频的书签图像,点击 action
。单击 UIButton
它会拍摄播放器屏幕快照并存储在文档目录中。
请建议我该怎么做?
先感谢您。
AVAsset *asset = [AVAsset assetWithURL:sourceURL];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
CMTime time = CMTimeMake(1, 1);
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef); // CGImageRef won't be released by ARC
参考Link:
Create a thumbnail or image of an AVPlayer at current time
AVAsset *asset = [AVAsset assetWithURL:videoURL];
AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
imageGenerator.appliesPreferredTrackTransform=TRUE;
CGImageRef imageRef = [imageGenerator copyCGImageAtTime:player.currentTime
actualTime:NULL error:NULL];