[英]video cover image selector from user dynamically
我正在开发视频应用程序,因为我需要视频封面图像,我应该从用户那里选择什么,
从用户那里选择封面图片,如下图所示
我在Google中搜索了很多次自定义控制器,但没有任何自定义控制器,如果有的话? 或任何对我有帮助的建议
实际上,您可以使用贝娄代码使用视频文件的路径获取视频缩略图封面图像,也可以获取视频文件的所有帧。 但是Apple没有为选择封面图像Thumb提供任何视图控制器。 您必须在thumbnailImageAtTime
处手动创建时间,或创建您自己的那种视图并使用Bellow代码获取缩略图。 希望有用。
-(void) getAllImagesFromVideo
{
imagesArray = [[NSMutableArray alloc] initWithCapacity:375];
times = [[NSMutableArray alloc] initWithCapacity:375];
for (Float64 i = 0; i < 15; i += 0.033) // For 25 fps in 15 sec of Video
{
[times addObject:[NSValue valueWithCMTime:CMTimeMakeWithSeconds(i, 60)]];
}
[imageGenerator generateCGImagesAsynchronouslyForTimes:times completionHandler:^(CMTime requestedTime, CGImageRef image, CMTime actualTime, AVAssetImageGeneratorResult result, NSError *error) {
if (result == AVAssetImageGeneratorSucceeded)
{
[imagesArray addObject:[UIImage imageWithCGImage:image]];
CGImageRelease(image);
}
}];
}
上面的代码Ref来自获取视频IOS 6的所有帧在这里,您具有视频的所有帧图像。 因此,当您在问题中提到图像时,创建您自己的view-Controller
像上面一样创建view-controller
并将所有图像设置为水平scroll-view
并为封面图像选择任意一个,否则您可以使用Bellow代码从头获得特定图像。
-(UIImage *)getThumbNail:(NSString*)stringPath
{
NSURL *videoURL = [NSURL fileURLWithPath:stringPath];
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
UIImage *thumbnail = [player thumbnailImageAtTime:1.0 timeOption:MPMovieTimeOptionNearestKeyFrame];
//Player autoplays audio on init
[player stop];
return thumbnail;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.