OGeek|极客世界-中国程序员成长平台

标题: 生成返回 0 字节 [] 的视频缩略图的 iOS 代码 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 16:53
标题: 生成返回 0 字节 [] 的视频缩略图的 iOS 代码

我正在使用 CodenameOne 创建一个应用程序,并且必须使用 ios native 界面来生成一些视频缩略图。这是我在 iOS 中使用的代码:

-(NSData*)createThumbnailFromMp4NSString*)param{

     NSURL *mediaURL = [NSURL fileURLWithPath:param];
     AVAsset *asset = [AVAsset assetWithURL:mediaURL];
     CMTime duration = [asset duration];
     CMTime snapshot = CMTimeMake(duration.value / 2, duration.timescale);

     AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc] initWithAsset:asset];
     CGImageRef imageRef = [imageGenerator copyCGImageAtTime:snapshot actualTime:nil error:nil];
     UIImage *thumbnail = [UIImage imageWithCGImage:imageRef];
     CGImageRelease(imageRef);

     return UIImagePNGRepresentation(thumbnail);
}

传入的参数是视频的完整路径,但是当我调用它时我得到的只是一个长度为 0 的字节 []。下面是 CodenameOne 的代码:

byte[] thumbnailImage = tg.createThumbnailFromMp4(FileSystemStorage.getInstance().getAppHomePath() + movePath);

其中 movePath 只是本地存储视频的文件名。



Best Answer-推荐答案


 AVAsset *asset = [AVAsset assetWithURL:urlvideo];
 AVAssetImageGenerator *imageGenerator = [[AVAssetImageGenerator alloc]initWithAsset:asset];
 CMTime time = [asset duration];
 time.value = 1000 ;
 CGImageRef imageRef = [imageGenerator copyCGImageAtTime:time actualTime:NULL error:NULL];
 image1 = [UIImage imageWithCGImage:imageRef];

关于生成返回 0 字节 [] 的视频缩略图的 iOS 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38177114/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4