gpt4 book ai didi

video - 从库中提取的视频的 UIImagePickerController 缩略图

转载 作者:行者123 更新时间:2023-11-28 21:38:37 24 4
gpt4 key购买 nike

我正在尝试获取使用 UIImagePickerController 从库中选取的视频的缩略图。

这是我的代码。如果我使用相机录制视频,我可以获得视频的缩略图。但是,如果我从图书馆挑选视频,我就无法获得缩略图。有人知道为什么吗?

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];

if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
NSURL *mediaUrl = [info objectForKey:UIImagePickerControllerMediaURL];

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:mediaUrl];
moviePlayer.shouldAutoplay = NO;
UIImage *thumbnail = [[moviePlayer thumbnailImageAtTime:0.0 timeOption:MPMovieTimeOptionNearestKeyFrame] retain];
[imageView setImage:thumbnail]; //imageView is a UIImageView

[moviePlayer release];
[thumbnail release];
[self dismissModalViewControllerAnimated:YES];
}
}

最佳答案

我有一个半相关的问题,最终放弃使用 MPMoviePlayer 生成缩略图。尝试使用 AVAssetImageGenerator反而。 Apple 讨论使用 AVAssetImageGenerator 创建缩略图 here .这是我自己的示例代码,它抓取了一个缩略图。您将需要包含 AVFoundation 框架。

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:vidPath options:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform = YES;
CMTime time = CMTimeMakeWithSeconds(0.0, 600);
NSError *error = nil;
CMTime actualTime;

CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];
UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
CGImageRelease(image);
[gen release];

关于video - 从库中提取的视频的 UIImagePickerController 缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5719135/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com